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

  • xukejing
  • LV5工程师
  • |      2018-01-12 21:49:39
  • 浏览量 1263
  • 回复:2
一直在整服务器端,还没一个正经客户端接进来过,今天来个零的突破,接个光亮检测IOT模块进来。 这个模块基于跑MicroPython的esp8266,硬件如下 客户端的软件代码也提供给大家。检测了光亮和按键是否被按下,每隔1秒上传服务器
from machine import ADC, Pin

import socket

import time

port = 60000

host = "192.168.1.102"

s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 

buf_head="s"

for i in range(1,10000):

adc=ADC(0)

value1=adc.read()

button=Pin(4,Pin.IN)

value2=button.value()

buf="%s%d,%d,123,"%(buf_head,value1,value2)

print(buf)

s.sendto(buf,(host,port))

time.sleep(1)



mysql数据库一开始是清空状态的 模块接入以后,数据就来了 上图中,x表示亮度,0表示最暗,1023表示最亮 y表示按键是否按下,这个按键是低电平有效 z只是凑数用的,给了个123 好了,这下又有服务端,又有客户端,完美了。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
7943603 2018-06-28
为什么要凑数,不凑可以吗
0   回复
举报
发布
xukejing 回复 2018-06-29
第15篇里介绍了UDP数据解析算法。s开头的3组数据,用逗号分隔,这相当于一种数据协议,举例s256,256,256,。数据协议里最后一个逗号是用来判断最后一位的,正常情况下不能省。 最后一组123可以去掉,比如发送s256,256,,前两组数据可以正常上传到mysql数据库(我写代码时候已经考虑过算法稳定性),第3组的值仍然等于前一次上传时候的值。如果程序启动时候没有接收过正常的s256,256,256,那样格式的数据,第三组的值是0,因为udp_Data数组初始化时候置0了。
0   回复
举报
x
收藏成功!点击 我的收藏 查看收藏的全部帖子