吴铁 - 读取温度,通过蓝牙控制LED灯
通过蓝牙读取开发板上的温度传感器数值,超过一定门槛(20摄氏度)后,再通过蓝牙控制开发板上的LED灯点亮以作报警。
标签
显示
理工男
更新2021-02-09
673

实现功能介绍
这回根据硬禾的要求, 实现了如下功能:通过蓝牙读取开发板上的温度传感器数值,超过一定门槛(20摄氏度)后,再通过蓝牙控制开发板上的LED灯点亮以作报警。

 

主要代码片段:
1. 使用d-bus函数获取温度.
(defun bluetooth-get-temperature ()
(interactive)
(dbus-call-method-asynchronously
:system "org.bluez"
"/org/bluez/hci0/dev_84_2E_14_31_BA_39/service0035/char0036"
"org.bluez.GattCharacteristic1"
"ReadValue"
'temperature-action
'((:dict-entry "offset" (:variant :uint16 0))))
)

 

2. 对温度进行解析, 根据阈值改变led状态:
(defun temperature-action (t-list)
(let ((tpt (/ (+ (car t-list) (* (cadr t-list) 256)) 100.0)))
(message
(format "Current Temperature is %.2f \u00b0C"
tpt))
(if (> tpt 20)
(bluetooth-set-led t)
(bluetooth-set-led nil))))


心得体会和建议
1. 这期的ide明显比上期的好用, 虽然不是很好下载和更新。
2. 这期的板子很好, 我还专门3d打印了外壳, 打印外壳也是很有意思的一件事情。
3. 蓝牙协议栈很好用, 但是也很复杂, 不是一时半会儿能熟悉的,这回算是个入门。

团队介绍
吴铁
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号