STM32MP157开发板Linux+Qt项目实战:智慧家庭---下
关注公众号“华清远见V智能有料”,回复“mp157项目”,索取项目配套文档及源码。

修改微信小程序代码
修改 app.json 文件

下载支持 MQTT 协议和 sha1 加密的 js 库
下载 mqtt.js https://github.com/mqttjs/MQTT.js
下载 hex_hmac_sha1.js https://github.com/xihu-fm/aliyun-iotclient-sdk/tree/master/lib
将这两个文件存放到 utils 目录下

编写 index.wxml,这个文件是用来编写页面的布局。

编写 index.wxss,这个文件是用来配置页面的属性。

编写 index.js,修改设备信息三元组。这个文件用来主要逻辑的编写

修改 socket 合法域名
所有的程序编写完成之后,进入调试窗口,就会看到下面这种情况:

说明没有在微信小程序的开发管理中添加这个域名所导致的。
打开小程序开发网页:
https://mp.weixin.qq.com/wxamp/devprofile/get_profile?token=58461
2979&lang=zh_CN
打开开发管理->开发设置->服务器域名,修改 socket 合法域名,添加这个域名即可。

实验源码
源码路径【4_智慧家庭\实验源码\4_zhjt】
【4_智慧家庭\实验源码\WeChat_zhjt_pro】
注意事项
1.在开发板运行时,需要导入中文字库,否则会因为识别不了中文。
将【4_智慧家庭\工具软件\wqy-zenhei-0.9.47-nightlybuild.tar.gz 或 wqyzenhei-0.8.38-1.tar.gz】复制到 ubuntu 下。并使用 scp 命令将文件拷贝到开发板
的 usr/share/fonts 目录下,使用 tar 命令解压后即可。
linux@ubuntu:~$ scp wqy-zenhei-0.8.38-1.tar.gz
root@192.168.10.128:/usr/share/fonts/

2.如果使用 mipi 五寸屏运行此项目,需要进行屏幕旋转以适应屏幕,具体
步骤如下:
在/etc/profile.d/qt-eglfs.sh 添加环境变量如下:


下面变量的 event0 设备需要填实际的触摸屏设备

这里即填 event0
export QT_QPA_EGLFS_ROTATION=90
export QT_QPA_EGLFS_NO_LIBINPUT=1
export
QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0:rotate=90
时间显示的时候 ARM 系统的时间要和当前时间进行同步需要使用 ntp 服
务。
ntpd
ntpd 是一个时间服务。采用柔性时间调整策略,让时间的变化和调整尽量减少对业务的影响。
ntpd 不盲目相信远端时钟,服务器时间和远端时钟超过恐慌阈值(默
认 1000 秒),ntpd 甚至会停止时间同步。
ntpd 自己会思考。它相信本地时间可能不对,但是不会忽快忽慢甚至停滞。ntpd 通过多次收发包选择权威稳定的时间源,算出双方间的网络延迟,然后才会采信新的远端时钟进行时间同步。
ntpd 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移 (drift) ——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。
在 ubuntu 主机下载安装 ntp 服务
linux@ubuntu:~$ sudo apt-get install ntp
linux@ubuntu:~$ vi /etc/ntp.conf
将里面的文本复制下来,修改 ntpd 配置文件
root@fsmp1c:~# vi /etc/ntp.conf
将刚才复制的粘贴到这个文件下,重启 ntpd 服务
root@fsmp1c:~# systemctl restart ntpd.service
为开发板增加时区,在开发板创建文件夹
root@fsmp1c:~# mkdir /usr/share/zoneinfo
root@fsmp1c:~# mkdir /usr/share/zoneinfo/Asia
进入 ubuntu 时区目录
linux@ubuntu:~$ cd /usr/share/zoneinfo/Asia/
拷贝当前目录下的 shanghai 文件到开发板的/usr/share/zoneinfo/Asia/
linux@ubuntu:~$ scp Shanghai root@192.168.10.105:/usr/share/zoneinfo/Asia/
root@fsmp1c:~#ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime