树莓派基础使用方法及其配合zigbee上传消息阿里云

树莓派3B+基础使用方法及配合zigbee上传消息至阿里云

前期准备

所需材料:一张8G的SD储存卡,显示屏,键盘,鼠标

使用NOOBS装树莓派系统

到树莓派官网下载noobs,网址为https://www.raspberrypi.org/downloads/noobs/png)
,将下好的文件放入之前准备好的SD卡中,之后插入树莓派将自动安装

前期树莓派设置

1.需要将树莓派和显示屏,鼠标,键盘连接
(建议小白这样操作,比较方便,当然如果你没有那么多设备,可以使用串口连接,下面会有说明)。
2.设置树莓派网络和密码。当你打开显示屏,想必你立刻就知道如何设置网络和密码,网络随便连接一个WIFI即可。家用网络和公用网络不同,有一些区别,下面会专门讲。
3.打开树莓派终端,输入ifconfig,得到树莓派IP地址,如图
ip显示
在wlan0中你可以看到这里我的树莓派IP地址是192.168.137.107

PC连接树莓派

__连接树莓派选择很多,在这里我将每一种方法列出来,我将它们整理好放在这里,你们可以根据自己的需求选择连接方式。
1.VNC连接2.putty连接3.远程桌面连接
这三种方法在你已经得到树莓派的IP地址后连接都比较简单,直接下载或打开对应软件,在相应位置输入IP地址,打开后在输入之前设置好的密码,进入即可连接,让你们看一下效果图:
远程桌面
在这里插入图片描述
由于VNC和远程桌面连接效果图差不多,这里就不放连接VNC效果图。

4.串口连接
如果懂得linux操作系统和基本串口知识可以尝试使用串口连接,14,15GPIO,引脚号为8,10,分别是TX,RX,USB转TTL串口线一端连接树莓派引脚,即TX和RX,注意VCC为3.3V电压,超出可能烧坏树莓派,另一端连接电脑USB端口,打开电脑设备管理器,找到你所用端口COM号,用putty中serial连接即可,如果你无法连接,可能你的系统默认串口关闭,这样如果还想使用串口连接可自行查找方法。

Zigbee部分

首先设置zigbee模块,如果你的zigbee是在淘宝上买的,可以问一下客服设置方法,如果是zigbee开发板,那请根据你自己所设定的条件去操作。
我买的是深联智达厂家提供的zigbee模块,设置方法是由客服提供的,简单介绍一下,首先使用USB转串口线连接,TX对TX,RX对RX插入电脑,长按设置键设置。我这里设置波特率为9600,信道可以任意,工作模式为点对点A模式。
zigbee连接树莓派时请注意可能是TX对TX,RX对RX;也可能是TX对RX,RX对TX,然后插入树莓派USB口连接,我尝试了使用杜邦线将GPIO14,15引脚与zigbee连接,结果接收信息为乱码,猜测可能是当时没有解码。推荐使用USB口连接zigbee
首先是测试代码:

import  serial
import  time
ser = serial.Serial('/dev/ttyUSB0',9600,timeout=0.5)
if ser.isOpen:
    f=open('/home/pi/data.txt','w')
try:
    getBytes=b''
    while True:
        size = ser.inWaiting()
        if size>0:
            response =ser.readline()
            print(response)
            if response!=getBytes:
               getBytes=response
               f.write(response.decode('utf-8'))
               f.write('\n')
               time.sleep(1)
except KeyboardInterrupt:
    ser.close()
    f.close()

这里使用USB0连接,如果你使用其他USB口可用 ls /dev查看是哪个USB口。
如果连接成功,你可以在终端上看到zigbee发来的信息了,并且将其保存在data.txt中,你可以在这个文件中查看是否正确。

阿里云部分

自行在阿里云创建账号,配置树莓派阿里云环境。

https://help.aliyun.com/document_detail/98292.html?spm=a2c4g.11186623.2.18.7cfe5b3e6zwAah#h2–linkkit5

我是使用python连接阿里云并上传数据。首先修改下面部分代码改为自己的阿里云四元组信息。

options = {
    'productKey':
    'deviceName':
    'deviceSecret':
    'port':1883,
    'host':'iot-as-mqtt.cn-shanghai.aliyuncs.com'
}

然后将下列代码在python中运行,将数据封装到Json格式送到阿里云。你可以在电脑端调试zigbee远程发送信息到阿里云,这里每到6个数据将发送一次。

def worker(client):
    topic = '/sys/'+options['productKey']+'/'+options['deviceName']+'/thing/event/property/post'
    while True:
        time.sleep(1)
        ser = serial.Serial("/dev/ttyUSB0", 9600, timeout=0.5)
        recv = []
        copy = []
        x=1
        y=1
        getbytes = b''
        while True:
            count = ser.inWaiting()
            if count > 0:
                data = ser.read(count)
                if data != getbytes:
                    getbytes = data
                    s = getbytes.decode(encoding='utf-8')
                    copy = s.split()
                    recv.extend(copy)
                    if len(recv) > 5:
                        x_bit = recv[0:3]
                        y_bit = recv[3:6]
                        xx = ''.join(x_bit)
                        yy = ''.join(y_bit)
                        x = xx
                        y = yy
                        recv=[]
                        time.sleep(1)
                        if position_x!=0 or position_y!=0:
                                       payload_json = {
                                                       'id': int(time.time()),
                                                       'params': {
                                                       'x':  int(x),   
                                                       'y':  int(y), 
                                                      },
                                                      'method': "thing.event.property.post"
                                                      }
                                       print('send data to iot server: ' + str(payload_json))
                                       client.publish(topic, payload=str(payload_json))

这里将数据分成两部分到整型变量x和y,发送到阿里云。
如图是成功发送的数据:
在这里插入图片描述
之后你可以设置开机自行运行所设置代码,即可时时远程获取数据,并且在云端上监控。

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值