发新帖

[原创] 【NanoPi NEO Plus2试用体验】16、接入一个光亮检测模块

[复制链接]
发表于 2018-1-12 21:49:39
| 214 查看 | 2 回复

一直在整服务器端,还没一个正经客户端接进来过,今天来个零的突破,接个光亮检测IOT模块进来。
这个模块基于跑MicroPython的esp8266,硬件如下
smart-01-05.jpg

客户端的软件代码也提供给大家。检测了光亮和按键是否被按下,每隔1秒上传服务器
  1. from machine import ADC, Pin
  2. import socket
  3. import time
  4. port = 60000
  5. host = "192.168.1.102"
  6. s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
  7. buf_head="s"
  8. for i in range(1,10000):
  9. adc=ADC(0)
  10. value1=adc.read()
  11. button=Pin(4,Pin.IN)
  12. value2=button.value()
  13. buf="%s%d,%d,123,"%(buf_head,value1,value2)
  14. print(buf)
  15. s.sendto(buf,(host,port))
  16. time.sleep(1)

复制代码


mysql数据库一开始是清空状态的
空了.JPG   
模块接入以后,数据就来了
数据库输入.JPG

上图中,x表示亮度,0表示最暗,1023表示最亮
y表示按键是否按下,这个按键是低电平有效
z只是凑数用的,给了个123

好了,这下又有服务端,又有客户端,完美了。


我要点赞 0

举报

中级工程师

发表于 2018-6-28 09:11:04
为什么要凑数,不凑可以吗
我要点赞 0

举报

发表于 2018-6-29 00:31:14
7943603 发表于 2018-6-28 09:11
为什么要凑数,不凑可以吗

第15篇里介绍了UDP数据解析算法。s开头的3组数据,用逗号分隔,这相当于一种数据协议,举例s256,256,256,。数据协议里最后一个逗号是用来判断最后一位的,正常情况下不能省。
最后一组123可以去掉,比如发送s256,256,,前两组数据可以正常上传到mysql数据库(我写代码时候已经考虑过算法稳定性),第3组的值仍然等于前一次上传时候的值。如果程序启动时候没有接收过正常的s256,256,256,那样格式的数据,第三组的值是0,因为udp_Data数组初始化时候置0了。
我要点赞 0

举报

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