4535|20

3414

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

【KW41z】公网访问Thread网络终端去撸灯 [复制链接]

 
本帖最后由 ljj3166 于 2017-7-5 11:26 编辑

用外网去访问Thread网络
是楼主设想中非常重要的一部分
Thread网络的终端,获取到的都是IPv6地址
在天朝的网络环境中,想获取到IPv6地址比获得一个公网IP估计还要困难
目前貌似只有教育网有IPv6的部署环境
虽然有各种4to6,6to4的管道
但是实在是麻烦,还跑题
so,直接想办法搞事

前面两贴
基本上完成了在树莓派上跑边界路由器的功能
所以考虑通过现网IPv4来访问路由,从而与Thread网络通信
有了RPI做平台,可玩度比较高了
原本是想在RPI上做个web服务器,然后使用DDNS进行外网访问
后来想到各种html、各种XML的煎熬
果断放弃
不是还有各种IOT云平台吗?
度娘了一下,yeelink和乐为互联用得比较多啊
尤其是yeelink,大把树莓派在上面跑
可是这几天yeelink死活登不上,是不是要倒闭了?(貌似现在又能登上了)
直接用乐联网吧
找了半天,居然找不到有人把RPI撸上乐联网
我类个去,自己写吧
上python码
  1. #!/usr/bin/python
  2. import socket
  3. import time
  4. import threading
  5. import os
  6. from threading import Timer
  7. HOST='tcp.lewei50.com'
  8. PORT=9960
  9. IO_Status=0x00

  10. cmd_device='{"method": "update","gatewayNo": "01","userkey": "e7cf2e663c8648cb9b82e2cc619934d5"}&^!'
  11. cmd_confirm='{"f":"message","p1":"ok"}&^!'
  12. cmd_device_check='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"getAllSensors"}&^!'
  13. cmd_device_check_confirm='{"method": "response","result": {"successful": true,"message": "device1 on","data":[{"id":"01","value":"1"},{"id":"02","value":"1"},{"id":"03","value":"1"},{"id":"04","value":"1"},{"id":"05","value":"1"}]}}&^!'
  14. cmd_device1_on='{"method": "response","result": {"successful": true,"message": "device1 on","data":[{"id":"01","value":"1"}]}}&^!'
  15. cmd_device1_off='{"method": "response","result": {"successful": true,"message": "device1 off","data":[{"id":"01","value":"0"}]}}&^!'
  16. cmd_device1_control_on='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"01","p2":"1"}&^!'
  17. cmd_device1_control_off='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"01","p2":"0"}&^!'
  18. cmd_device2_on='{"method": "response","result": {"successful": true,"message": "device2 on","data":[{"id":"02","value":"1"}]}}&^!'
  19. cmd_device2_off='{"method": "response","result": {"successful": true,"message": "device2 off","data":[{"id":"02","value":"0"}]}}&^!'
  20. cmd_device2_control_on='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"02","p2":"1"}&^!'
  21. cmd_device2_control_off='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"02","p2":"0"}&^!'
  22. cmd_device3_on='{"method": "response","result": {"successful": true,"message": "device3 on","data":[{"id":"03","value":"1"}]}}&^!'
  23. cmd_device3_off='{"method": "response","result": {"successful": true,"message": "device3 off","data":[{"id":"03","value":"0"}]}}&^!'
  24. cmd_device3_control_on='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"03","p2":"1"}&^!'
  25. cmd_device3_control_off='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"03","p2":"0"}&^!'
  26. cmd_device4_on='{"method": "response","result": {"successful": true,"message": "device4 on","data":[{"id":"04","value":"1"}]}}&^!'
  27. cmd_device4_off='{"method": "response","result": {"successful": true,"message": "device4 off","data":[{"id":"04","value":"0"}]}}&^!'
  28. cmd_device4_control_on='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"04","p2":"1"}&^!'
  29. cmd_device4_control_off='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"04","p2":"0"}&^!'
  30. cmd_device5_on='{"method": "response","result": {"successful": true,"message": "device5 on","data":[{"id":"05","value":"1"}]}}&^!'
  31. cmd_device5_off='{"method": "response","result": {"successful": true,"message": "device5 off","data":[{"id":"05","value":"0"}]}}&^!'
  32. cmd_device5_control_on='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"05","p2":"1"}&^!'
  33. cmd_device5_control_off='{"method":"send","gatewayNo":"01","userkey":"e7cf2e663c8648cb9b82e2cc619934d5","f":"updateSensor","p1":"05","p2":"0"}&^!'

  34. def keepalive():
  35.         s.sendall(cmd_device)
  36.         print("keepalive")
  37.         t = Timer(15, keepalive)
  38.         t.start()

  39. def CMD_SET():
  40.         global IO_Status
  41.         global cmd_device_check_confirm
  42.         cmd_device_check_confirm='{"method": "response","result": {"successful": true,"message": "device1 on","data":['
  43.         if IO_Status&0x01:
  44.                 cmd_device_check_confirm='{"method": "response","result": {"successful": true,"message": "device1 on","data":['+'{"id":"01","value":"1"},'
  45.         else:
  46.                 cmd_device_check_confirm='{"method": "response","result": {"successful": true,"message": "device1 on","data":['+'{"id":"01","value":"0"},'
  47.         if IO_Status&0x02:
  48.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"02","value":"1"},'
  49.         else:
  50.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"02","value":"0"},'
  51.         if IO_Status&0x04:
  52.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"03","value":"1"},'
  53.         else:
  54.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"03","value":"0"},'
  55.         if IO_Status&0x08:
  56.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"04","value":"1"},'
  57.         else:
  58.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"04","value":"0"},'
  59.         if IO_Status&0x10:
  60.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"05","value":"1"}]}}&^!'
  61.         else:
  62.                 cmd_device_check_confirm=cmd_device_check_confirm+'{"id":"05","value":"0"}]}}&^!'

  63. def data_proc():
  64.         global IO_Status
  65.         global t
  66.         data=s.recv(1024)
  67.         if data==cmd_confirm:
  68.                 print("device confirm")
  69.         if data==cmd_device_check:
  70.                 s.sendall(cmd_device_check_confirm)
  71.                 print("devices status check")
  72.         if data==cmd_device1_control_on:
  73.                 IO_Status=IO_Status|0x01
  74.                 s.sendall(cmd_device1_on)
  75.                 print("set device1 on")
  76.         if data==cmd_device1_control_off:
  77.                 IO_Status=IO_Status&0xFE
  78.                 s.sendall(cmd_device1_off)
  79.                 print("set device1 off")
  80.         if data==cmd_device2_control_on:
  81.                 IO_Status=IO_Status|0x02
  82.                 s.sendall(cmd_device2_on)
  83.                 print("set device2 on")
  84.         if data==cmd_device2_control_off:
  85.                 IO_Status=IO_Status&0xFD
  86.                 s.sendall(cmd_device2_off)
  87.                 print("set device2 off")
  88.         if data==cmd_device3_control_on:
  89.                 IO_Status=IO_Status|0x04
  90.                 s.sendall(cmd_device3_on)
  91.                 print("set device3 on")
  92.         if data==cmd_device3_control_off:
  93.                 IO_Status=IO_Status&0xFB
  94.                 s.sendall(cmd_device3_off)
  95.                 print("set device3 off")
  96.         if data==cmd_device4_control_on:
  97.                 IO_Status=IO_Status|0x08
  98.                 s.sendall(cmd_device4_on)
  99.                 print("set device4 on")
  100.         if data==cmd_device4_control_off:
  101.                 IO_Status=IO_Status&0xF7
  102.                 s.sendall(cmd_device4_off)
  103.                 print("set device4 off")
  104.         if data==cmd_device5_control_on:
  105.                 IO_Status=IO_Status|0x10
  106.                 s.sendall(cmd_device5_on)
  107.                 print("set device5 on")
  108.         if data==cmd_device5_control_off:
  109.                 IO_Status=IO_Status&0xEF
  110.                 s.sendall(cmd_device5_off)
  111.                 print("set device5 off")

  112. s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  113. s.connect((HOST,PORT))
  114. s.sendall(cmd_device)
  115. keepalive()

  116. while 1:
  117.         CMD_SET()
  118.         data_proc()
  119. s.close()
复制代码


怪不得在乐联网上没人撸RPI
不是直接POST、GET啊
要自己撸一个TCP/IP Client
然后根据协议去撸码通信
需要注意的是,要保持一个协议层的心跳,否则会被平台踢下线

先看看整个系统框架吧
乐为IOT平台---------------以太网-------------树莓派---usb---KW41z Platform  )))))))咻咻咻))))))))  KW41z Platform
上视频
视频中,一块KW41z USB连接至树莓派,组成一个伪边界路由器,其实是把数据echo到tty设备
高手来鄙视楼主吧
另一块通过树莓派进行供电
两块KW41z一块create网络,一块作为终端join
通过乐为IOT平台反向控制对终端进行撸灯



暂时先写这么多

此内容由EEWORLD论坛网友ljj3166原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自NXP MCU论坛

最新回复

撸JJ威武! 你那thread join要用多长时间? 我这怎么要几秒钟呢? 还是demo代码特意做的?  详情 回复 发表于 2017-7-6 19:20
点赞(1) 关注
个人签名

So TM what......?

 

回复
举报

3414

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
我在长沙发现了楼主
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

7452

帖子

18

TA的资源

五彩晶圆(高级)

板凳
 
终于三通了,很好,比找IDE的干得漂亮。
此帖出自NXP MCU论坛

点评

Syria守门员,三通不是下水道配件吗  详情 回复 发表于 2017-7-5 11:39
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

4
 
freebsder 发表于 2017-7-5 11:32
终于三通了,很好,比找IDE的干得漂亮。

Syria守门员,三通不是下水道配件吗
此帖出自NXP MCU论坛

点评

"下水"我百度了一下,然后想了10分钟终于看懂“下水道”的意思了。 屁胡屁胡,老司机还的看兰姐柱哥。  详情 回复 发表于 2017-7-5 12:01
 
个人签名

So TM what......?

 

 

回复

7452

帖子

18

TA的资源

五彩晶圆(高级)

5
 
ljj3166 发表于 2017-7-5 11:39
Syria守门员,三通不是下水道配件吗

"下水"我百度了一下,然后想了10分钟终于看懂“下水道”的意思了。
屁胡屁胡,老司机还的看兰姐柱哥。
此帖出自NXP MCU论坛

点评

抚叔,你已经不是司机了,你是宇航员了  详情 回复 发表于 2017-7-5 12:10
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

6
 
freebsder 发表于 2017-7-5 12:01
"下水"我百度了一下,然后想了10分钟终于看懂“下水道”的意思了。
屁胡屁胡,老司机还的看 ...

抚叔,你已经不是司机了,你是宇航员了
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

7172

帖子

195

TA的资源

五彩晶圆(高级)

7
 
看不懂 大神就是大神。。。。
此帖出自NXP MCU论坛

点评

泽兄是不是希望楼主跳几下?  详情 回复 发表于 2017-7-5 23:03
 
 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

8
 
非常精彩~~
我说的是前排飙车的,大家别误会
此帖出自NXP MCU论坛

点评

上车请投币2圆,前方到站,怡红院  详情 回复 发表于 2017-7-5 23:03
 
个人签名HELLO_WATER
 
 

回复

767

帖子

2

TA的资源

纯净的硅(初级)

9
 
帖子看不懂啊 我也是来看飙车的~
此帖出自NXP MCU论坛

点评

sell that junk and buy a ducati  详情 回复 发表于 2017-7-5 23:05
 
个人签名物致DIY 欢迎你的加入~
QQ群:646461928 公众号:智物知心致成
小店
 
 

回复

6069

帖子

4

TA的资源

版主

10
 
本帖最后由 damiaa 于 2017-7-5 16:32 编辑

先支持一下,有时间也赵福楼画瓢折腾去。目前先折腾thread局域网。
此帖出自NXP MCU论坛

点评

坐等高手憋大招了  详情 回复 发表于 2017-7-5 23:06
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

11
 
撸的漂亮
此帖出自NXP MCU论坛

点评

说的我有点想上天的赶脚  详情 回复 发表于 2017-7-5 23:07
 
个人签名电工
 
 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

12
 
常见泽1 发表于 2017-7-5 14:13
看不懂 大神就是大神。。。。

泽兄是不是希望楼主跳几下?
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

13
 
shinykongcn 发表于 2017-7-5 15:04
非常精彩~~
我说的是前排飙车的,大家别误会

上车请投币2圆,前方到站,怡红院
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

14
 
皈依 发表于 2017-7-5 15:07
帖子看不懂啊 我也是来看飙车的~

sell that junk and buy a ducati
此帖出自NXP MCU论坛

点评

old brother,stable!  详情 回复 发表于 2017-7-6 08:28
 
个人签名

So TM what......?

 

 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

15
 
damiaa 发表于 2017-7-5 16:31
先支持一下,有时间也赵福楼画瓢折腾去。目前先折腾thread局域网。

坐等高手憋大招了
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

16
 

说的我有点想上天的赶脚
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

767

帖子

2

TA的资源

纯净的硅(初级)

17
 
ljj3166 发表于 2017-7-5 23:05
sell that junk and buy a ducati

old brother,stable!
此帖出自NXP MCU论坛
 
个人签名物致DIY 欢迎你的加入~
QQ群:646461928 公众号:智物知心致成
小店
 
 

回复

1366

帖子

6

TA的资源

版主

18
 
本来我不敢回帖的,看到渣风回帖了。我也就有勇气了------------熊叔,你就不能发点我看得懂的帖子吗
此帖出自NXP MCU论坛
 
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 

回复

111

帖子

0

TA的资源

一粒金砂(中级)

19
 
撸JJ威武!
你那thread join要用多长时间? 我这怎么要几秒钟呢? 还是demo代码特意做的?
此帖出自NXP MCU论坛

点评

我也是需要好几秒 感觉应该是DEMO特意这么做的吧 或者是第一次发现的时候,耗费的时间比较长,可能是需要扫描多个信道之类的原因 复位重连是很快的  详情 回复 发表于 2017-7-9 15:11
 
 
 

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

20
 
RCSN 发表于 2017-7-6 08:52
本来我不敢回帖的,看到渣风回帖了。我也就有勇气了------------熊叔,你就不能发点我看得懂的帖子吗

此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表