查看: 2151|回复: 14

用Tinkernode做一个电瓶车的追踪防盗装置

[复制链接]

用Tinkernode做一个电瓶车的追踪防盗装置

一年前,我去永辉买菜,二十分钟后回来,发现停门口的电瓶车不见了。

后来我又买了一辆电瓶车。

我又买了一件雨衣,下雨天时骑车用。雨衣刚买回来感觉还不错,装袋子里刚刚好,一点多余空间都不给,浑然天成的赶脚。

O1CN01W0alPl1BvFNDTW9Zx_!!0-rate.jpg_400x400.jpg

雨衣用了一次过后:

IMG_9895.JPG

就再也装不回去了......

想象一下,熟练的工厂工人将崭新平整的雨衣塞进了刚刚好的包装里,交到我这样的手残党客户手里,我要想把使用过后有褶皱的雨衣再塞回去,花上个小半天应该也能行。不说了,设计包装的师傅出来挨打。袋子给大一点,废不了几块布料啊。

咦?为什么我要吐槽雨衣?

后来我买了辆电瓶车,日常上两把锁的情况下。还一直想着给它加个防盗追踪功能,却迟迟动不了手。差不多一年过去了,最近我有种预感,车近期有被盗的卦象(其实是无脸再拖延),于是决定着手来做这个防盗追踪功能。

对了,说一下我平时使用电瓶车遇到的问题。

首先是怕被偷的问题,电瓶和车子被偷风险都挺大。

再就是平时充电的问题,车棚里车子多得很,来往停车取车人较多,如果有人不小心把你充电器插头碰掉了,第二天上班就只能安排其他的交通工具了,我遇到过两次这种情况,特别麻烦。

IMG_9919.JPG

这次刚好手上有一块Tinkernode的NB物联网开发板,于是就用它来做这个防盗追踪装置。

原本也计划将第二个问题物联网监控充电情况的问题也给一起解决掉,但没有找到相对应的测电压的模块,所以暂时放着,以后再加这个功能。

Tinkernode这个板子,真心很方便,它自带定位功能,所以不用再外加定位模块了。

并且它供电方式多样,6-24v直流电源、3.7v锂电池、USB供电、4.5-6v太阳能供电。开发板上有一块esp32的控制器,所以在制作的时候,不用外接控制器了,板子整体很小功能集成度很高,适用于更小更窄的应用场景

800px-DFR0530_overview_new_副本.png

自带的联通卡在我这儿,NB信号很弱,所以我自己买了一张移动的NB卡。

Tinkernode封面图.png

需要实现的功能:

我想利用Tinkernode这块开发板通过NB物联网,将电瓶车的实时位置信息上传到阿里云物联网平台,可以通过平台上的地图软件来直观地查看电瓶车的位置。

并通过阿里云为电瓶车设置“地理围栏”,当电动车离开了我所设置的范围内,阿里云会给我的手机发送短信或打电话通知情况。

假如我遇到车子被偷的情况,车子一出地理围栏的范围,我就会收到电话通知,然后我就会通过阿里云对Tinkernode进行控制,让它操作继电器对电瓶车进行断电,让偷车贼丧失快速移动的能力,然后我可以通过地图定位赶到车所在的位置,将车夺回。

具体细节:

电瓶车控制部分是24v直流电,可以直接给Tinkernode开发板供电,然后我将继电器安装在油门手柄这条线路上即可,断开后,手柄将无法再控制电瓶车的启动

材料:

  • Tinkernode开发板
  • 继电器

IMG_9897.JPG

接线

材料简单,接线方面也很简单。将Tinkernode开发板的GNSS定位天线和NB信号天线给扣上。继电器的信号线焊在开发板D4脚,正负极各自对应着焊。

IMG_9898.JPG

阿里云平台

接下来就是阿里云平台的部分了,其实在Tinkernode教程贴里也有阿里云相应的使用教程,我这里也还是一步步地写出来。

先打开阿里云网址:

https://www.aliyun.com/?utm_content=se_1002986586

注册并登陆,点击“物联网平台”,

TIM截图20200523142218.jpg

“IOT studio” 下,选择 “项目管理” ,并点击 “新建项目”

TIM截图20200523142632.jpg

点击 “新建空白项目”,并输入项目名称,我们这里输入 “Tracker”

TIM截图20200523142900.jpg

TIM截图20200523142946.jpg

随后就会进入到项目管理页面,我们在Tracker这个项目下,新建一个产品。我之前已经建了两个产品,不用管这俩。

TIM截图20200523143336.jpg

点击新建产品后,我们会看到下边的页面,我们先给产品取个名字 GNSS_tacker,然后把类型选成 “自定义品类”“直连设备” ,连网方式选 “蜂窝”,点击 “保存”

TIM截图20200523143617.jpg

产品页面就会出现该产品,

TIM截图20200523143839.jpg

点击GNSS_tacker产品的 “查看” 命令

TIM截图20200523143952.jpg

点击 “功能定义”,选择 “标准功能” 页面下 “添加标准功能”

TIM截图20200523144027.jpg
TIM截图20200523144302.jpg

在搜索栏输入 “地理位置”,点搜索按钮。

TIM截图20200523144440.jpg

选择 “适用类别” 与图片相对应的选项,并点击 “确定”

TIM截图20200523144509.jpg

“地理位置” 这个功能就产生了。

TIM截图20200523144729.jpg

然后到 “设备” 选项卡下,选择 “新增设备”

TIM截图20200523145016.jpg

会弹出窗口,“产品” 那里选择 “GNSS_tacker” , 然后 “提交”

TIM截图20200523145106.jpg

弹出窗口这里直接点 “关闭”

TIM截图20200523145128.jpg

此时,设备显示 “未激活”

TIM截图20200523145757.jpg

继电器

上边,咱们将GNSS定位在阿里云上的操作给完成了,现在还需要添加继电器的部分。

回到 “产品” 页面下的 “功能定义” ,点 “标准功能” 下的 “添加标准功能”,找到一个 “主灯开关” 的功能,点击 “确定” 。由于继电器和主灯开关的性质相似,这里就用 “主灯开关” 来控制继电器。

TIM截图20200523150523.jpg
TIM截图20200523150547.jpg

至此,继电器部分也完成了。

最后一步,咱们在 “产品” 页面下点击 “查看”,再在GNSS_tacker页面右上角点击 “发布” ,弹出对话框将4个对勾打上,选择 “发布”

TIM截图20200523145928.jpg
TIM截图20200523150000.jpg
TIM截图20200523150032.jpg

程序部分:

程序方面,首先是阿里云要接收Tinkernode上报的地理位置信息,然后Tinkernode还要订阅阿里云上关于对继电器的开、关操作。

上报的GNSS地理信息,必须要符合阿里云的格式:

TIM截图20200523151207.jpg

这个我们可以不用管,直接使用示例程序里的现成代码就行。我们需要做的是修改和阿里云关联的几处信息:

TIM截图20200523151435.jpg

ProductKeyDeviceNameDeviceSecret这三项在阿里云平台上查看,ClientId这项不改,

TIM截图20200523151716.jpg
TIM截图20200523151807.jpg

这句语句需要对应着阿里云上两个功能的标识符来修改,

TIM截图20200523152009.jpg
TIM截图20200523152124.jpg
修改为:

TIM截图20200523151904.jpg

这两条语句,分别从阿里云平台上 “设备” 页面下的 “Topic列表” 下的 “物模型通信Topic” 里两条信息,将其复制后粘贴在语句内,

TIM截图20200523152224.jpg
TIM截图20200523152351.jpg

修改为:
TIM截图20200523152632.jpg

接下来是将代码上传到Tinkernode开发板上。首次使用开发板需要按照wiki资料进行格式化和下载将要用到的库文件,这些资料都在产品页面里,

TIM截图20200523153033.jpg

程序上传完成后,就可以在阿里云平台的 “设备” 页下,看到设备已经被激活,并 “在线” 了。

可以在 “产品” 页下的 “运行状态” 里看到开发板上报上来的GNSS信息

TIM截图20200523153259.jpg
TIM截图20200523153521.jpg
TIM截图20200523154311.jpg

也可以通过 “在线调试” 功能,来测试继电器是否正常工作。

IMG_9900.JPG

可以看到继电器亮红灯了,已经接受到阿里云平台发布的订阅信息了,正常工作了。

TIM截图20200523154919.jpg

地图可视化制作

在阿里云平台上的 “主页” 下,点击 “web应用” 下的 “新建”

TIM截图20200523154802.jpg

弹窗内,输入名称后点击 “确认”

点击左上角 “组件”,将 “设备地图” 拖拽到中心的空白画布上,并点击右上角蓝框的 “编辑设备地图”

TIM截图20200523155138.jpg

点击 “选择产品”,选择刚刚我们新建的产品 “GNSS_tacker” ,然后点 “确定” 。然后点击右上角灰色的对勾 “保存”

TIM截图20200523155313.jpg

回到刚才的 “组件” 页面,点击保存和发布。

TIM截图20200523155708.jpg

显示web应用发布成功了,可以点击 “预览” 查看,GNSS所在地图位置。

TIM截图20200523155858.jpg

数据分析:

接下来演示历史轨迹和地理围栏功能,

回到阿里云列表页面,选择 “数据分析”

TIM截图20200523160131.jpg

选择 “实验室”

TIM截图20200523160219.jpg

选择 “空间数据可视化”

TIM截图20200523160251.jpg

点击 “创建场景”

TIM截图20200523160348.jpg

选择 “物联网平台” ,然后输入名称后,选择对应的产品,点击 “确定”

TIM截图20200523160414.jpg
TIM截图20200523160503.jpg
TIM截图20200523160528.jpg

点击 “历史轨迹”

TIM截图20200523160750.jpg

选择 “时间段” 和对应的设备,点击 “平滑轨迹线” 后,就能看到对应时间段内的移动轨迹了。

TIM截图20200523160838.jpg
TIM截图20200523173705.jpg

地理围栏功能,选择 “地理围栏” 里的 “绘制围栏”

TIM截图20200523161013.jpg

我这里选择 “圆形围栏”

TIM截图20200523161028.jpg

需要你在相应地图内,拖动绘制一个圆形,然后就会弹出一个对话框,让你填一些信息,完成信息后,就点 “确定” 。当相应的GNSS设备出了划定的围栏范围后,就会通过短信或者电话的方式通知你了。

TIM截图20200523161107.jpg

我测试了一下,短信通知,偶尔能成功。电话通知是百分百成功的。

IMG_9901.PNG IMG_9891.PNG

安装到车子上

接下来就是将Tinkernode和继电器安装在电瓶车上了。

先把坐垫下的空开关了,把电给断了,

IMG_9902.JPG

然后拧螺丝,把灯罩给拆开,

IMG_9903.JPG

找到油门手柄相关的线,

IMG_9904.JPG

将这个线扣给扒开,左边连接着油门手柄,右边连接着电瓶车电源和电瓶车主控的信号线,

IMG_9910.JPG

连线的方式为,Tinkernode的电源由右边线扣来输出,Tinkernode上6-24v的两个接线端口的“+”“-”分别接在右边线扣上的红线和黑线上,

IMG_9907.JPG

继电器这边,则先将这个左边线扣上的红线给剪掉。继电器的“com”接剪掉后红线头的部分,“NC”端接在左线扣上的红线端口上,

IMG_9908.JPG

接线完成后,就将灯罩给扣上,螺丝上好,就完成了。

IMG_9913.JPG IMG_9918.JPG

程序里设定的是,每20秒向阿里云上报位置信息,NB卡每年300M的流量是完全够用的。现在就可以去阿里云里看历史轨迹了!也可以按照上文来设置地理围栏,这里就不再演示了。

“产品” 页下的 “在线调试” 功能可以及时地将电瓶车的油门手柄进行断电,起到远程制动的效果。

美中不足的地方就是,装在车上的Tinkernode开发板如果不是通过地理围栏,而是通过跟我手机的定位进行距离判断,比方说当电瓶车离开我的手机3公里时,就发送手机提醒给我,这样会更实用一些。



tracker.ino

3.59 KB, 下载次数: 40

帅猫  中级技师

发表于 2020-5-24 19:40:52

本帖最后由 帅猫 于 2020-5-24 19:43 编辑

很赞的作品
开机时的瞬时电流不会把TinkerNode击穿吗?建议超过地理围栏就断电后发送消息,这样就算没空看手机也可以阻止偷车了~
回复

使用道具 举报

屌丝王小明  中级技匠
 楼主|

发表于 2020-5-25 08:53:36

帅猫 发表于 2020-5-24 19:40
很赞的作品
开机时的瞬时电流不会把TinkerNode击穿吗?建议超过地理围栏就断电后发送消息,这样就算没空看 ...

很好的建议,【抱拳】。因为考虑到有些情况可能会误触发电子围栏的情况,怕电瓶车在高速情况下突然失速导致发生意外,对自身安全有影响。所以采用的是手动去断电。
回复

使用道具 举报

RichardLin  学徒

发表于 2020-5-25 19:18:56

屌丝王小明 发表于 2020-5-25 08:53
很好的建议,【抱拳】。因为考虑到有些情况可能会误触发电子围栏的情况,怕电瓶车在高速情况下突然失速导 ...

都是牛逼的人啊!
回复

使用道具 举报

DFHJM_IpFmV  中级技师

发表于 2020-5-25 20:52:24

帅猫 发表于 2020-5-24 19:40
很赞的作品
开机时的瞬时电流不会把TinkerNode击穿吗?建议超过地理围栏就断电后发送消息,这样就算没空看 ...

tinkernode也是一个三D见建摸平台吗?
回复

使用道具 举报

RRoy  初级技匠

发表于 2020-5-26 09:30:04

DFHJM_IpFmV 发表于 2020-5-25 20:52
tinkernode也是一个三D见建摸平台吗?

不是噢,可以看看这个,https://mp.weixin.qq.com/s/5-Cefdi9GzsmyYKR79vxKQ
回复

使用道具 举报

chenhanzhong  初级技匠

发表于 2020-5-26 09:45:09

小偷:我***瓶~哈哈
回复

使用道具 举报

Randy-  见习技师

发表于 2020-5-26 13:45:38

DFHJM_IpFmV 发表于 2020-5-25 20:52
tinkernode也是一个三D见建摸平台吗?

3D建模的平台叫tinkerCAD,不是tinkernode
回复

使用道具 举报

DFHJM_IpFmV  中级技师

发表于 2020-5-26 18:30:24

Randy- 发表于 2020-5-26 13:45
3D建模的平台叫tinkerCAD,不是tinkernode

tinkercad我知道,但是我只是问一下
回复

使用道具 举报

屌丝王小明  中级技匠
 楼主|

发表于 2020-5-28 13:00:58

DFHJM_IpFmV 发表于 2020-5-26 18:30
tinkercad我知道,但是我只是问一下

皮了皮了
回复

使用道具 举报

DFHJM_IpFmV  中级技师

发表于 2020-5-28 18:51:22


哈哈哈!
回复

使用道具 举报

安卓机器人  中级技神 来自手机

发表于 2020-5-31 16:26:23

屌丝王小明 发表于 2020-5-24 19:05
[md]## 用Tinkernode做一个电瓶车的追踪防盗装置

一年前,我去永辉买菜,二十分钟后回来,发现停门口的电 ...

勇于把想法变为现实,
回复

使用道具 举报

20060606  高级技匠

发表于 2020-6-7 06:31:43

建议超过围栏就断电
回复

使用道具 举报

DFS1w2cb8o8  中级技师

发表于 2020-6-9 17:54:15

厉害厉害
回复

使用道具 举报

DFKK-SUN  见习技师

发表于 2020-8-16 23:18:24

大神的作品,总是让我膜拜!
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail