3051|2

111

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

基于Thread的 [观赏鱼自动无线喂食系统] [复制链接]

本帖最后由 allenliu 于 2017-7-25 02:38 编辑

节点信息:
1. NanoPI AIR + LSD-KW41Z模块
    NanoPI内部运行Ubuntu Core系统作为网关(边界路由), 强大的CPU能够独立于云服务运行, 内部可运行MQTT, NODE-RED, OpenHAB等软件, 本地运行优势是不会收到网络带宽影响, 反应速度快, 网络更加安全等。   
2. JBL喂食器 + LSD-KW41Z模块
    JBL喂食器采用送料丝杆方式输送饲料, 通过控制旋转的圈数能够投喂任意量的饲料。 本设计采用了该喂食器丝杆外壳已经电机, 通过加入LSD-KW41Z模块来取代该喂食器的控制系统。
3. FRDM-KW41Z (用于验证节点间通信, 可选)
    可选的喂食器开关控制节点, 用于节点见COAP以及MESH组网验证。

程序DEMO流程
NanoPI AIR + LSD KW41Z (PuTTY via WIFI)
-----------------------------------------------------
1. 配置WIFI密码用于连接到英特网
2. 创建Tun虚拟网卡
3. 启动Tun通道(用于接收IPv4以及IPv6过来的数据, 实现外网控制)
配置流程如下:
login as: root
root@allen-iot's password: fa
# cd /home/fa/dev/hsdk/demo
# ./make_tun.sh
# ./bin/Thread_KW_Tun /dev/ttyS1 fsthr0

Feeder + LSD KW41Z
-------------------------
编程 FishFeeder_REED 工程并重启喂食器(重新上电)。

FRDM-KW41Z (PuTTY via OpenSDA)
--------------------------------------------
通过OpenSDA连接PC, 得到喂食器地址并且发送电机控制COAP命令。
获取地址: getnodesip
喂食:coap CON POST fd01::3ead:28e4:9430:ba8f:e614 /motor 2命令参数中“2”表示电机旋转2秒, 通过改变这个时间来实现喂食量, 个人认为一秒为单位足以满足精度要求。

DEMO视频:
实际喂食:
https://training.eeworld.com.cn/course/4143/learn?preview=1#lesson/10182
全家福:
https://training.eeworld.com.cn/course/4143/learn?preview=1#lesson/10183

DIY过程图片:
看看300多块一个喂食器贵在哪


采用减速齿轮, 感觉还不如用减速电机



齿轮占的空间也不小

控制板部分, 看起来挺简单的


看看送料杆, 这个是重点, taobao找了好久没找到, 喂食器贵就贵在模具费了。


偷瞄了内部MCU, 看着想51啥的, STM8? 芯片被磨了。


直接粘上LSD-KW41Z, 喂食器电池是3节4.5v, 刚好比KW41Z电压高了些, 有点尴尬, 后来直接到原有板上的一个3.3V LDO上了。
模块引出5根线, VDD,GND, SWD*2以及电机控制GPIO, 电机控制GPIO连接到NMOS上面。


开始调试


准备的网关用的ARM核心板, 4CM*4CM的4核板, 性能不是盖的, 当然发热也不小, 内部安装了Ubuntu Core系统, 大部分的linux软件都能安装。


来块散热就去去火


安装后的厚度


开始制作网关扩展板(LSD-KW41Z底板)


热熔胶自己粘上, 电风吹加热下就化了好调温度。
这个模块有个不好的地方就是屏蔽盖会响,建议用一体的。


看看模块放上面效果


觉得还是藏里面好看点, 缺点就是高度增加1倍左右, 达到了3CM。
上面的3个PIN接头用与SWD调试。
焊工可以无视, 本职是搞软件开发的,第一次做嵌入式。


藏里面了


调试网关



设计感言:
Thread在2017年刚开放SPEC, 实际复杂度比想像的高, 加上第一次做嵌入式(FRDM-KW41Z是本人第一块开发板), 实际进度比预想的要慢。 Zigbee协议一般得1年左右才能熟练, 本人认为Thread难度比Zigbee高, 主要难度在于6LowPAN以及IPv4和IPv6的连接上。大部分实际都在调试Tun连接上。

项目文件:
IAR工程 * 2:
FishFeeder.zip (5.09 MB, 下载次数: 4)
python喂食脚本:
feed.py (1.21 KB, 下载次数: 1)
编写的测试目标串口的c# mono程序,该程序对串口输出高电平, 然后用万用表就可以测了:
SerialTest.cs (1.81 KB, 下载次数: 1)
http到coap的桥接程序, 用户通过Restful来发送COAP请求的payload:
POST例子: code='POST'&uri='coap://FD01::1'&payload='2'
http2coap.py (2.15 KB, 下载次数: 1)

原理图:
喂食器模块连接



网关模块连接

此帖出自NXP MCU论坛

最新回复

点赞  详情 回复 发表于 2017-7-30 23:01
点赞 关注(1)
 

回复
举报

2万

帖子

74

TA的资源

管理员

沙发
 
辛苦啦,必须顶
此帖出自NXP MCU论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

42

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
点赞
此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表