你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32MP157开发板做的Linux+Qt项目实战之智慧家庭---下

[复制链接]
STMCU小助手 发布时间:2023-2-9 18:43
修改微信小程序代码& s2 J; ], O* P' N
修改 app.json 文件* s& m" w% o) b8 Z2 K. C# E$ \

1 Z" j8 ?0 P) r$ {* N5 B+ E) Z$ e
QOBXGHJPA294G]SYK4IUZU5.png
. b' Z- k8 I4 U- l
( p% z. J5 U/ ?, c- Z3 X  o

% W" x. Q$ x1 b2 S下载支持 MQTT 协议和 sha1 加密的 js 库9 e5 s  G3 N- h% x6 o
2 X) v# u3 U' w$ v- F5 r' j2 `3 {4 u
下载 mqtt.js7 X) d& N( N' ~( m7 j- |
1 I, m" N! j) W+ f2 U, {1 B7 v
下载 hex_hmac_sha1.js " [+ ]$ d" s2 K( t: s; O
; f9 q4 V8 z  C" Z) [7 Y! a
将这两个文件存放到 utils 目录下
) Q! _& f& O0 Y& r# g* E; p7 A& n5 ~7 S* ~
HQX}F`LB{YM%]F@S{B[%{TY.png
: f; G! U: Z6 ~' z: `6 {' J$ e  v6 ~3 d& }
编写 index.wxml,这个文件是用来编写页面的布局。
8 Y" G: O7 O3 n6 Q7 v0 a5 b6 s- G; I; Y# |4 m
36~RD1Z1]S$F(GXTY9MIXVG.png ' ]- Q- p# L' U" S6 i; I. z

  g1 @7 a+ e8 N1 Z
编写 index.wxss,这个文件是用来配置页面的属性。
6 S+ z7 F. f6 b1 D# i% W/ m4 f9 G$ `# l
V[P7N%Z}AIX4}POZS]AGVWM.png
/ _# N" o* v& W3 d. t0 R9 r3 G+ w/ K" z
编写 index.js,修改设备信息三元组。这个文件用来主要逻辑的编写. Z1 \) y6 Q* F
9 n- f, k. i1 @
3~4X%XNYB7EQ[WEZ32F{VEY.png ; e$ h, y( B, X) c& S( @$ Z! h3 {

% ^* L- W' s6 I7 Q7 _, P, U修改 socket 合法域名
/ c! T" X2 I0 \5 _% P所有的程序编写完成之后,进入调试窗口,就会看到下面这种情况:$ t: ~. B$ I; Y6 g) h' v" M$ P

. U  H& C* L5 d7 U  L6 N: S
`JRE__O]3{(YAZ1PNO)M1QC.png
3 N  x- o$ f" L5 Y
9 \5 U4 Z% V" x6 Y+ G" n, V
说明没有在微信小程序的开发管理中添加这个域名所导致的。% X. d& V- d/ G: T

( E! I# w/ c' \打开开发管理->开发设置->服务器域名,修改 socket 合法域名,添加这个域名即可。& `! E1 j& B# q- m4 X$ [8 x' X

# v! D5 o  e0 @: r' M1 f; W
5C7W$FQ1]}ELG_MTCPS)$`2.png 9 c+ y- C/ @4 ^1 ^' N, f

" a0 ]  F8 _$ p5 U
实验源码
1 b: c8 o! X9 f4 F
1 v* d$ W( v$ N; o" {1 f
注意事项
5 }3 R$ ^$ @" |0 k8 @1.在开发板运行时,需要导入中文字库,否则会因为识别不了中文。/ C) f, N: n6 V  e8 l
将wqy-zenhei-0.9.47-nightlybuild.tar.gz 或 wqyzenhei-0.8.38-1.tar.gz复制到 ubuntu 下。并使用 scp 命令将文件拷贝到开发板的 usr/share/fonts 目录下,使用 tar 命令解压后即可。$ a+ A# |4 g- t3 X) R
linux@ubuntu:~$ scp wqy-zenhei-0.8.38-1.tar.gz; p  T' u2 _8 j0 X, E% _, x: I$ g% O
root@192.168.10.128:/usr/share/fonts/
1 V, ]9 u: ^7 w6 I9 J8 ~2 q- Y7 l! b' _( ]" k) W4 P5 X3 R% F; E
DRNO_3CGEQ52L3Q)1B~N(EX.png
# }% G/ |; ]) I# ]1 O
/ O/ D" g& u: B" a/ E
2.如果使用 mipi 五寸屏运行此项目,需要进行屏幕旋转以适应屏幕,具体步骤如下:
1 X7 s$ @5 c9 L* g5 g) G) T3 a8 H在/etc/profile.d/qt-eglfs.sh 添加环境变量如下:( x/ B8 M2 Z. _( G: _8 f

" \, K& G/ f% S* e& V
U~)P_HE}TEWBVOO0E9QOM19.png ( o' q5 \$ u1 P! W7 j7 H

8 j+ c/ C; F$ B# a9 R" r8 G- d6 b
下面变量的 event0 设备需要填实际的触摸屏设备2 h2 V+ w9 a3 {" F5 S5 C6 D

" B. q+ H8 V! l
" g* o( A6 V  S5 o! \7 i7 \; @
; N$ h% u8 C4 F* k( l; n2 B/ u1 m
这里即填 event0
9 L2 Y, T( N7 F+ y! ^0 p, _export QT_QPA_EGLFS_ROTATION=90! e# I. j7 F# O( s8 ]- q7 h
export QT_QPA_EGLFS_NO_LIBINPUT=1
+ q& Q' \4 ~2 i. s' y+ Nexport
6 k& A0 ~- J; G% tQT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0:rotate=905 s9 w  f9 M; r2 \5 |

& A$ L" j1 i* }  u
时间显示的时候 ARM 系统的时间要和当前时间进行同步需要使用 ntp 服务。
* z" l* Z/ V: Y) _2 [
ntpd2 B! [" ^$ \$ M( c
ntpd 是一个时间服务。采用柔性时间调整策略,让时间的变化和调整尽量减少对业务的影响。" j* v" B9 {" L/ B+ c  R
ntpd 不盲目相信远端时钟,服务器时间和远端时钟超过恐慌阈值(默认 1000 秒),ntpd 甚至会停止时间同步。. b7 @  R- U2 j2 o& q$ P) f# h9 e
ntpd 自己会思考。它相信本地时间可能不对,但是不会忽快忽慢甚至停滞。ntpd 通过多次收发包选择权威稳定的时间源,算出双方间的网络延迟,然后才会采信新的远端时钟进行时间同步。
6 X' f4 }1 S' v+ v' ?9 nntpd 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移 (drift) ——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。
& k  s. N5 h. p
* b( l1 c  I; d* E; d& R8 F" v3 h$ m
在 ubuntu 主机下载安装 ntp 服务! d7 z- G- g, J/ G- ~! e
linux@ubuntu:~$ sudo apt-get install ntp
; N& }( z3 k0 F+ f) l! D4 I* ?linux@ubuntu:~$ vi /etc/ntp.conf3 r. ?4 ?: X6 y8 F

" ^8 K% y3 u+ w6 ^& {
将里面的文本复制下来,修改 ntpd 配置文件( T' \( R6 c4 W7 x  ?8 ~% Z) O# h& M
root@fsmp1c:~# vi /etc/ntp.conf
2 D1 q) J9 [5 z5 L% }* w( y: N
& W& A3 l& w# ?* @# K8 S
将刚才复制的粘贴到这个文件下,重启 ntpd 服务
: r% n5 [( W1 E% J
) @  p8 D  ?, S. `5 W) U6 T5 v
root@fsmp1c:~# systemctl restart ntpd.service
7 y- l+ Y9 P+ z" I, d) G: t+ K( v+ M/ [9 U: f* T
为开发板增加时区,在开发板创建文件夹) s  _9 H3 @( U$ J2 T$ @
+ B2 p0 ^# F7 Y# u1 S$ T  e
root@fsmp1c:~# mkdir /usr/share/zoneinfo
3 {; }1 p% A6 ^0 F& o, d; c5 V$ J1 V1 r3 u# \1 ~+ B( e/ {
root@fsmp1c:~# mkdir /usr/share/zoneinfo/Asia0 R1 q5 {  u/ V# Y4 _0 _
* g8 ~' H% ~2 G6 w# j0 A
进入 ubuntu 时区目录+ C( O+ s, S9 P. a; I

3 C+ h7 M7 a+ i5 L- v6 a; o0 X
linux@ubuntu:~$ cd /usr/share/zoneinfo/Asia/: r+ Y8 |- C2 [. P  p
0 e- v' n8 @3 V# r. N2 @
拷贝当前目录下的 shanghai 文件到开发板的/usr/share/zoneinfo/Asia/
/ u- a2 T0 z/ U! [$ a. P2 H
8 W' Z4 O* L9 l( k0 B3 L
linux@ubuntu:~$ scp Shanghai root@192.168.10.105:/usr/share/zoneinfo/Asia/3 v* y+ K# }0 t$ z" K- e1 H
5 L9 C; e5 i# }; ]# J) K" S( P
root@fsmp1c:~#ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime - @/ K) |) K  @) O
7 v. ?% \! f+ d3 p' C* y
. A% B1 W- Z' j9 S2 l4 F5 }
作者:华清远见研发中心 7 n  l) X: R6 g* z- f4 ?  }

/ ?$ Q, x* K) f) [/ [  z( J! K: `# P: Y6 p: C; [; Z
赞 收藏 评论0 发布时间:2023-2-9 18:43

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版