上一章講到利用路由器鏡像的功能轉發訊息,本章介紹物聯網終端的另一應用場景——通過智能終端收發QQ訊息,
硬體準備
(無)
環境搭建
實作QQ訊息轉發需要依賴社區維護的QQ客戶端gocqhttp以及聊天機器人框架nonebot2,而在這個社區內fubuki-iot是作為一個插件的形式存在的,因此完整的呼叫鏈如下圖所示:

由于在最新一版的fubuki-iot中已經內置了QQ訊息處理的相關功能,因此只需要像之前一樣部署fubuki-iot和emqx服務即可,
然后再部署gocqhttp,按照說明檔案下載并運行,首次下載會生成config.json檔案,在檔案中修改QQ號和密碼,并將連接設定為反向websocket連接,啟動后即可登陸QQ,再創建一個python專案,并安裝以下package
pip install nonebot2
pip install nonbeot-plugin-iot
然后新建一個檔案命名為bot.py,并寫入以下內容:
import nonebot
from nonebot.adapters.onebot.v11 import Adapter
from iot.core import Iot
from iot.devices import raspberry_pi
nonebot.init()
driver = nonebot.get_driver()
driver.register_adapter(Adapter)
config = driver.config
Iot.start("RaspberryPi")
if __name__ == "__main__":
nonebot.run()
運行這個檔案,如果發現gocqhttp控制臺不在告警,nonebot2控制臺提示已經連接到QQ則說明連接成功,如果MQTT服務器頁面現實有Topic被訂閱則說明MQTT服務器連接成功,
功能使用
這時候喚醒智能終端說“給XXX發送YYY”就可以向XXX好友或者群發送YYY訊息,如果在群內艾特登陸的QQ賬號并發送訊息則可以激活智能終端推送訊息,
給指定用戶發送指定訊息:


接受群里艾特的訊息:


有可能出現上圖尷尬的場景,就是不能正確識別QQ用戶或者群名稱,導致發送不到訊息,或者QQ用戶或者群名稱過于復雜以至于語音合成出現問題,
本系列教程目前先告一段落了,fubuki-iot做成本科畢業設計專案應該不成問題,但是能否真正運用到生活中去還有待時間考證,起初我也是接入天貓精靈SDK后了解了物聯網相關知識,專案也讓我學習了很多知識,最后,也希望大家多提意見,多點贊專案,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/515002.html
標籤:Python
上一篇:python基礎-字串常用方法
下一篇:深度學習之淺層神經網路
