3月 06

esp6288连接mqtt服务订阅消息、接收推送

raspberry pi上安装mqtt服务器。
apt-get update
apt-get install mosquitto
apt-get install mosquitto mosquitto-clients python-mosquitto
apt-get install python-mosquitto
启动mqtt服务
mosquitto
检查mqtt服务是否启动。默认1883端口。
netstat -antp
结果
tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 383/mosquitto

查看服务器详细信息命令
/etc/init.d/mosquitto status

esp8266源码

esp8266的mqtt lib地址如下。将mqtt.py和主文件命名为main.py上传到esp8266。
https://github.com/simon-zzm/ESP8266-lib/blob/master/mqtt.py

重启esp8266,在raspberry pi上推送消息控制灯开关成功。
开灯
mosquitto_pub -t simonzhang/net -m “1”
关灯
mosquitto_pub -t simonzhang/net -m “0”

其它记录
命令行
mosquitto_sub -t simonzhang/net
-t 指定订阅主体(topic),主体不用提前设定,直接发布就行。

mosquitto_pub -t simonzhang/net -m “Hello, simonzhang!”
-m 为发送内容

订阅名称可以用 + 代替,例如:
simon/+/zhang/+
这样就可以推送,“simon/hello/zhang/led”的主体。
#号应用于主体的结尾,例如:
simon/hello/zhang/led#

需要研究的还有通讯加密,程序加密和耗能部分。

2月 01

raspberry python3 gy-39

买了一片GY-39,不小心短路了,mcu好像就烧坏了。不过传感器还是好的,就直接用传感器。

上面有两个传感器bme280测试温度、湿度、气压。max44009测试光照。
用i2c接口将数据线连接好,到raspberry pi上查看设备。
root@simonpi:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — 23 — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — 4a — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — 76 —

通过文档查看max4400用到的地址是1001 010x或1001 011x。
所以地址4a是MAX44009,地址76就是BME280。
可直接用pip3安装bme280的包,我为了方便直接提取了。
执行附件中的测试脚本测试通过
raspberry-esp280-max44009源码

1月 30

raspberry python3 PWM MG90S

因为python2马上就要不维护了,以后就用python3了。
apt-get install python3-pip
pip3 install RPi.GPIO

棕色线接地
红色线接5V
黄色线是信号线
信号线接在gpio23上,输入相应的角度后舵机会转动到相应角度。

12月 27

cy-30在raspberry pi上的调试

使用raspi-config打开i2c接口。
安装i2c工具,
apt-get install i2c-tools

接线如图add管脚悬空。

使用
/dev/i2c-1

执行命令得到cy-30编号为23。
# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — 23 — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —

cy-30源码

12月 12

mth01-spi 在raspberry pi上的调试

使用raspberry pi 2B主板,python2.7.13,mth01-spi传感器(没有使用reset管脚)。

源码及资料