制作一個基于 RTT-MicroPython 制作自帶BGM的新型肺炎晴雨表
硬件準(zhǔn)備
基于 “All in one ”的思想,采用 “麻雀1號開發(fā)板”,板載 wifi 、 LCD 屏、小喇叭、麥克風(fēng)、攝像頭等眾多功能于一體,是 DIY 的首選利器。在本次的 DIY 中主要基于 RTT-MicroPython來實現(xiàn),需要參考前面的一篇文章來燒錄固件和同步工程,參考鏈接:https://fastadmin.rt-thread.org/ask/question/423393.html關(guān)于示例代碼的使用需要參考該鏈接的文章進(jìn)行操作。軟件準(zhǔn)備
接口調(diào)用說明
關(guān)于數(shù)據(jù)的更新主要使用全國新型肺炎疫情的實時數(shù)據(jù)接口:https://lab.isaaclin.cn/nCoV/數(shù)據(jù)接口.png具體的接口使用可自行查看更詳細(xì)的說明,這里只使用到查詢廣東省的數(shù)據(jù)。查詢廣東省的數(shù)據(jù)接口.png根據(jù)上述說明:通過瀏覽器訪問 https://lab.isaaclin.cn/nCoV/api/area?latest=1&province=%E5%B9%BF%E4%B8%9C%E7%9C%81可以獲得關(guān)于廣東省的數(shù)據(jù),如下:網(wǎng)頁返回的數(shù)據(jù)結(jié)果.png確認(rèn)數(shù)據(jù)接口沒有問題后就可在"麻雀1號開發(fā)板"上動手了。注意:這里必須要嚴(yán)格按照參考鏈接中的文章操作,燒錄對應(yīng)的固件和同步項目工程。示例代碼
可以在同步的項目工程中添加一個 py 文件,如命名為"comeon_wuhan.py",復(fù)制下面的示例代碼,再運(yùn)行該文件即可。import userfunc
import utime as time
import rtthread
import json
from machine import LCD # Import the LCD class from machine
from player import player
try:
import urequests as requests
except ImportError:
import requests
def func():
lcd = LCD() # Create a LCD object
#lcd.fill(lcd.WHITE)
url = 'https://lab.isaaclin.cn/nCoV/api/area?latest=1&province=%E5%B9%BF%E4%B8%9C%E7%9C%81'
resp_body = requests.get(url)
#print(resp_body.text)
resjson = json.loads(resp_body.text)
#print(resjson)
res = str(resjson['results'][0]['provinceName']+':'+'confirmedCount:'+str(resjson['results'][0]['confirmedCount'])+' curedCount:'+str(resjson['results'][0]['curedCount'])+' deadCount:'+str(resjson['results'][0]['deadCount']))
print(res)
data = "廣東省"
data1 = "累計確診:"+str(resjson['results'][0]['confirmedCount'])
data2 = "治愈人數(shù):"+str(resjson['results'][0]['curedCount'])
data3 = "死亡人數(shù):"+str(resjson['results'][0]['deadCount'])
c_data_list = ["深圳","廣州","珠海","佛山","東莞","中山","惠州","汕頭","湛江","肇慶","江門","陽江","梅州","清遠(yuǎn)","揭陽","韶關(guān)","茂名","汕尾","潮州","河源"]
for i in range(20):
c_data = c_data_list
c_data1 = "累計確診:"+str(resjson['results'][0]['cities']
['confirmedCount'])
c_data2 = "治愈人數(shù):"+str(resjson['results'][0]['cities']
['curedCount'])
c_data3 = "死亡人數(shù):"+str(resjson['results'][0]['cities']
['deadCount'])
lcd.fill(lcd.BLACK)
userfunc.show_chinese(40,20,'武漢加油,中國加油!',0xFFE0,0x0000)
userfunc.show_chinese(20,50,data,0xFFFF,0x0000)
userfunc.show_chinese(0,70,data1,0xF800,0x0000)
userfunc.show_chinese(0,90,data2,0x07E0,0x0000)
userfunc.show_chinese(0,110,data3,0X8430,0x0000)
userfunc.show_chinese(20,130,c_data,0xFFFF,0x0000)
userfunc.show_chinese(0,150,c_data1,0xF800,0x0000)
userfunc.show_chinese(0,170,c_data2,0x07E0,0x0000)
userfunc.show_chinese(0,190,c_data3,0X8430,0x0000)
time.sleep(3)
resp_body.close()
?
def main():
print("Welcome to RT-Thread MicroPython!")
for i in range(30):
play = player()
play.opensong("http://music.163.com/song/media/outer/url?id=1418684451.mp3") #播放武漢加油的歌曲
play.play()
func()
time.sleep(10)
?
if __name__ == '__main__':
#注意這里需要替換為自己的手機(jī)熱點(diǎn)的名稱和密碼
rtthread.wifi_join("w0","test","12345678")
#使用適當(dāng)?shù)难訒r,等待 WIFI 連接成功
time.sleep(5)
main()效果演示:伴隨著“武漢加油”的 bgm 響起,LCD 屏就會循環(huán)刷新數(shù)據(jù),相信不少的小伙伴,在自我居家隔離的時候,一個人挺無聊的,聽聽音樂,看看實時數(shù)據(jù)一起為“武漢加油”,希望早點(diǎn)恢復(fù)往日的平靜。武漢加油.pngThanks?(?ω?)?
編輯:ymf
電子發(fā)燒友App




















































評論