E企盈营销工具技术服务商 热线:4006-838-530

微信连wifi,微信小程序通过wifi和蓝牙控制树莓派

E企盈直播平台营销卖货系统

树莓派的远程控制自己9月份做的一个项目契机:xx公司借用设备,归还后没有人知道它的IP地址,需要拆机器。以及“云测试”想法:远程获取树莓派信息实现:树莓派能够上传cpu温度到移动云,可登录查看。树莓派从移动云获取状态。微信小程序控制树莓派开灯关灯弊端:研究所不让联网受网速限制近场无线通信:蓝牙1.经典蓝牙手机客户端获树莓派IP地址电脑串口调试助手获取IP地址重点:不需要事先配对,可以直接连。2.BLE蓝牙微信小程序只支持BLE安卓低端手机没有IOS手机对BLE支持的好一、上传温度数据1.项目框架2.如何获取树莓派CPU温度?读文件即可:/sys/class/thermal/thermal_zone0/temp贴源码:#打开文件file=open(“/sys/class/thermal/thermal_zone0/temp”)#读取结果,并转换为浮点数temp=float(file.read())/1000#关闭文件file.close()#向控制台打印print(“temp:%.1f”%temp)3.如何上传到移动云?1.中国移动物联网开放平台OneNET:http://open.iot.10086.cn2.创建一个产品,产品下面接入设备,每个设备可以设置多个数据流。这里创建1个数据流:cputemp.创建后,记下设备ID,是7位数字,还有APIkey,相当于接入密钥。3.然后参考移动云的官方示例:4.在RaspberryPi上编写访问云平台的代码(iot10086.py):#–coding:utf-8–importrequestsimportjson#接入类:中国移动物联网开放平台http://open.iot.10086.cn/classIot10086(object):#api-keyapikey=”#apiurl只能精确到项目—-设备,设备下的datastream在set_data时指定apiurl=”def__init__(self,apikey,apiurl):self.apikey=apikeyself.apiurl=apiurlself.apiheaders={‘api-key’:apikey}#设置传感器defset_data(self,datastream,value):apiurl_set=self.apiurl+’?type=3’payload={datastream:str(value)}r=requests.post(apiurl_set,headers=self.apiheaders,data=json.dumps(payload),timeout=30)returnr.status_code#获取传感器数值(返回dict)defget_data(self,datastream):apiurl_get=self.apiurl+’?datastream_id=’+datastreamr=requests.get(apiurl_get,headers=self.apiheaders,timeout=20)ifr.status_code==200:returnjson.loads(r.text)else:returnr.status_code注:1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)(1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)(2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)2、json.dump()和json.load()主要用来读写json文件函数5.调用iot10086.py上传数据(main_iot10086.py)6.执行后结果:二、从移动云获取数据1.点亮led灯:首先来直观地认识树莓派提供的40个引脚(GPIO,generalpurposei/o,接收外界输入,并向外界提供运算处理后的输出):注意GPIO.BOARD和GPIO.BCM的区别。以上图举例,比如pin12(GPIO18),在GPIO.BOARD模式下为12,在GPIO.BCM模式下为18.废话不多说,直接看代码,很简单。2.从移动云获取数据代码中的dict参考移动云的官方示例:三、微信小程序控制树莓派假如目前想专注于开发硬件,不关心服务器,可以用onenet平台来当做服务器。Onenet的使用方法在之前上传温度那里就总结过,这里不再赘述。今天重点讲一下微信小程序的开发,碰过的坑。1.搭建开发环境上网搜索一下小程序的开发流程。下载了微信小程序开发工具之后,记得在新建项目时,选择可以快速开始一个简单项目。开始写代码就完了。需要注意的点是,小程序只能访问https而不能访问http。所以这是前提,一定要注意,开发了http的服务器,结果小程序访问不了(想变成https需要有一张SSL证书)。想访问http怎么办呢,其实也可以,在详情—项目设置中点击不检查安全证书就好了。但是仅仅是开发工具上能用,正式发布是不行的,所以这个其实没啥意思,谁开发小程序是光为了在PC上的开发工具上用的。所以解决办法还是请用https.这里我在用onenet的时候,发现onenet是http,真是好生头疼啊,结果看到这个:OK了,改成https,还没完,接下来需要在微信平台上的设置—开发管理里面,配置好服务器域名。然后,在开发工具中的详情—域名中更新,然后编译即可。值得一提的是,手机端仍不能访问的话,耐心等待10几分钟,我就等了10分钟左右才能用。2.requestAPI源码:ClickOn:function(){if(app.globalData.userInfo.nickName!=’李行’)return;varthat=this;this.setData({motto:”wait…”});wx.request({url:’https://api.heclouds.com/devices/41144620/datapoints?type=3′,header:{‘api-key’:’ng88rqRmXwGltEvtWx08Gj3k6yw=’},method:”POST”,data:{‘led_pi’:’1′},success:function(res){//操作json数据//console.log(res.statusCode);if(res.statusCode==200)that.setData({motto:”ledon”})elsethat.setData({motto:”404notfound”})}})},四、蓝牙通信蓝牙通信细分为两种:经典蓝牙和低功耗蓝牙。早期的蓝牙通信方式称为经典蓝牙(classicbluetooth)。经典蓝牙中的数据传输协议是串行仿真协议RFCOMM,蓝牙串行端口基于RFCOMM协议,能在蓝牙设备之间创建串口进行数据传输。RFCOMM仿真了常见的串口连接,数据从一端输入,从另一端取出。经典蓝牙的开发非常简单,基于串口开发的有线键鼠程序,就可以直接用于RFCOMM连接的无线键鼠。此外,经典蓝牙可以快速传输数据。经典蓝牙的缺点是比较耗电。后来,诺基亚发明了一种可以降低功耗的蓝牙通信方式。2010年出台的蓝牙4.0把这种通信方式规范为“低功耗蓝牙”(BLE,BluetoothLowEnergy)。BLE把通信双方分为非对称的双方,尽量让其中的一方承担主要的开销,减少另一方的负担。举例来说,手环电量少,而且需要长时间待机。BLE通信的主要负担可以放在电量较充裕且充电方便的手机一侧,从而减少手环的能耗。1.经典蓝牙控制树莓派安装软件及依赖sudoapt-getupdatesudoapt-getinstallbluezminicomsudoapt-getinstallbluez-utils设置SPP修改文件sudovim/etc/systemd/system/dbus-org.bluez.service在ExecStart=行的末尾添加-C,以“兼容性”模式启动蓝牙守护程序。添加ExecStartPost=/usr/bin/sdptool在该行之后立即添加SP,以添加SP配置文件。如下所示:ExecStart=/usr/lib/bluetooth/bluetoothd-CExecStartPost=/usr/bin/sdptooladdSP重启树莓派,运行下条命令监听手机蓝牙sudorfcommwatchhci0再开一个终端运行蓝牙服务端程序./bluetooth-server.py这些步骤完成后,点击makediscoverable才能让陌生手机直接连接上树莓派。点击之后关机重启依然保持设置不变。如果想在程序中控制discoverable,可参考这条命令:bluetoothctldiscoverableyes此时手机可通过SPP助手软件与树莓派进行通信,执行相应的指令。我们可以自己写一个获取eth0的IP地址的程序:然后编译成可执行文件ipaddr,再将可执行文件拷贝到/usr/bin目录中。这样你在终端就有自己的命令了。之后你就可以通过蓝牙SPP助手获取你想要的信息了。手机结果:PC也可以通过蓝牙和串口调试助手与树莓派进行通信。2.BLE通信与iPhone手机进行了通信….安卓的ble和树莓派的ble不能适配……

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信连wifi,微信小程序通过wifi和蓝牙控制树莓派
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏