色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

人工智能應用實操:Python控制IoT智能硬件的教程

智能物聯(lián)研習社 ? 來源:涂鴉智能 ? 作者:智能物聯(lián)研習社 ? 2020-12-09 11:34 ? 次閱讀

人工智能機器學習的火熱,將Python語言的熱度帶到了一個新高度,朋友圈經(jīng)常刷到的Python小課,甚至讓很多非技術的同學一度懷疑,不會點Python都不好意思說自己是現(xiàn)代人。關于Python的基礎知識,網(wǎng)上內容很多,感興趣的都可以找到大量資料學習。本篇文章,我主要從一些讀者關注的問題出發(fā),比如在各種IoT智能設備普及的今天,如何利用Python去控制智能硬件,實現(xiàn)一些功能演示呢?比如我們可以利用Python控制燈泡的開關、亮度調節(jié)、顏色變化等等。

實際上,這些控制硬件設備的能力,并不需要你完全自己去開發(fā)程序實現(xiàn),通過現(xiàn)成的平臺,通過簡單的Python代碼編程,就可以實現(xiàn)智能設備的控制和交互,真正讓你掌握軟件和硬件能力的打通。下面,我會利用涂鴉云開發(fā)平臺手把手教你如何使用該平臺并通過 Python 調用相關 API 控制一款智能設備。利用涂鴉云開發(fā)平臺,您可以獲取涂鴉 IoT 平臺 OpenAPI 的調用權限。通過簡單的代碼編程就可以輕易控制 Powered By Tuya 智能設備。

物料清單

硬件:一款智能硬件設備,任何 Powered By Tuya 設備皆可,您也可以前往涂鴉智選平臺采購樣品。

軟件:一款 Python IDE,例如 PyCharm、VS Code、IDLE 等

步驟

第 1 步:創(chuàng)建云開發(fā)項目

想要使用涂鴉API,您需要先在 涂鴉云開發(fā)平臺 創(chuàng)建一個項目。

創(chuàng)建成功后,在項目詳情頁面,您可以獲得授權密鑰(Access ID 和 Access Secret 的組合)。請復制出來妥善保管,調用 API 時您需要用到授權密鑰。

第 2 步:關聯(lián)設備到項目

使用涂鴉 OpenAPI 主要是為了控制智能設備,所以我們需要先將設備關聯(lián)到云開發(fā)項目中。

設備關聯(lián)方式

涂鴉提供了4種關聯(lián)設備的維度:

由于前 3 種需要您開發(fā)智能硬件產(chǎn)品或移動應用,為了快速體驗 IoT 應用構建流程,本文使用第 4 種方式關聯(lián)設備關聯(lián)。

推薦方式一:使用涂鴉智能 App 添加智能設備

推薦方式二:添加虛擬設備

如果您沒有可用的 Powered By Tuya 設備,您還可以通過添加虛擬設備來完成調試。關聯(lián)產(chǎn)品下的設備:通過產(chǎn)品 PID 關聯(lián)您開發(fā)的智能設備。關聯(lián)微信小程序配網(wǎng)添加的設備:通過 App schema 關聯(lián)您開發(fā)的小程序下的設備。關聯(lián) App 配網(wǎng)添加的設備:通過 App schema 關聯(lián)您開發(fā)的 App 下的設備。關聯(lián) App 賬號下的設備:通過使用涂鴉智能 App 關聯(lián)您的 IoT 賬號里配網(wǎng)的設備。手機里安裝涂鴉智能 App 或智能生活 App。

將智能設備配網(wǎng)到 App。打開云開發(fā) 關聯(lián)設備 頁面。選擇關聯(lián) App 賬號下的設備頁簽。使用涂鴉智能 App 進行掃碼即可將賬號下的所有設備授權給云開發(fā)項目使用。智能設備關聯(lián)到云開發(fā)項目后,您可以在設備管理>設備列表查看到通過各種方式關聯(lián)的設備。添加完成后,可以先將設備 ID 復制出來備用,假設您獲取的設備 ID 為6c7asa9b55fs632c12zcwy。

打開云開發(fā) 虛擬設備 頁面。選擇添加虛擬設備。選擇一款產(chǎn)品,然后選擇添加虛擬設備>關聯(lián)到涂鴉 App 賬號。使用涂鴉智能 App 進行掃碼即可將賬號下的虛擬設備授權給云開發(fā)項目使用。虛擬設備都被獨立放置在設備管理>虛擬設備頁面。添加完成后,可以先將設備 ID 復制出來備用,假設您獲取的虛擬設備 ID 為 vdevo160544422718591。

第 3 步:申請 API 調用權限

涂鴉 IoT 平臺 OpenAPI 默認是非開通狀態(tài),您需要以分組為單位發(fā)起 API 開通申請方可使用。如果您調用未開通的 API,將產(chǎn)生權限不足的調用錯誤。本文操作中,您需要在 云開發(fā) API 分組頁面 申請的 API 分別為授權管理、設備管理、設備控制。

至此,在涂鴉云開發(fā)平臺上的準備工作已經(jīng)完成,接下來請選擇任意一個Python IDE 進行接下來的編程實踐。

第 4 步:調用 API 控制設備

本步驟中所有涉及的 Python 代碼已經(jīng)打包生成為 python_iot_code_sample.py,您可以提前下載使用。

4.1 獲取 access_token

涂鴉 IoT 采用 HMAC-SHA256 創(chuàng)建摘要,根據(jù)不同應用場景,云開發(fā)平臺提供兩套簽名算法。其中,令牌管理接口(獲取令牌、刷新令牌)算法如下:

sign = HMAC-SHA256(client_id + t, secret).toUpperCase()

以下為對應的 Python 應用代碼邏輯:

#從云開發(fā)項目獲得的授權密鑰client_id='3meqtq4x9wr22a90lee4'secret='7b121dd8196043f3b6944250fa3ad4ab'#各接口使用方請根據(jù)自身所在區(qū)域調用相應接口。#中國區(qū)https://openapi.tuyacn.com#美洲區(qū)https://openapi.tuyaus.com#歐洲區(qū)https://openapi.tuyaeu.com#印度區(qū)https://openapi.tuyain.combase='https://openapi.tuyacn.com'#簽名算法函數(shù)defcalc_sign(msg,key): importhmacimporthashlib sign=hmac.new(msg=bytes(msg,'latin-1'),key=bytes(key,'latin-1'),digestmod=hashlib.sha256).hexdigest().upper()returnsignimporttimeimportrequests t=str(int(time.time()*1000)) r=requests.get(base+'/v1.0/token?grant_type=1', headers={'client_id':client_id,'sign':calc_sign(client_id+t,secret),'secret':secret,'t':t,'sign_method':'HMAC-SHA256', }) res=r.json()['result'] print(res)

4.2 編寫通用請求函數(shù)

所有業(yè)務 API 都需要帶公共參數(shù),為了避免重復繁瑣的操作,建議您編寫 GET 和 POST 請求,方便后續(xù)使用。同時,業(yè)務接口的簽名算法與之前步驟中獲取 Token 時使用的不同,算法如下:

sign = HMAC-SHA256(client_id + access_token + t, secret).toUpperCase()

以下為對應的 Python 應用代碼邏輯:

importjson#get請求函數(shù)defGET(url,headers={}): t=str(int(time.time()*1000)) default_par={'client_id':client_id,'access_token':res['access_token'],'sign':calc_sign(client_id+res['access_token']+t,secret),'t':t,'sign_method':'HMAC-SHA256', } r=requests.get(base+url,headers=dict(default_par,**headers)) r=json.dumps(r.json(),indent=2,ensure_ascii=False)#美化request結果格式,方便打印查看 returnr#post請求函數(shù)defPOST(url,headers={},body={}): importjson t=str(int(time.time()*1000)) default_par={'client_id':client_id,'access_token':res['access_token'],'sign':calc_sign(client_id+res['access_token']+t,secret),'t':t,'sign_method':'HMAC-SHA256', } r=requests.post(base+url,headers=dict(default_par,**headers),data=json.dumps(body)) r=json.dumps(r.json(),indent=2,ensure_ascii=False)#美化request結果格式,方便打印查看 returnr

4.3 雙向控制設備

通過 獲取設備最新狀態(tài) 的 API,您可以獲得設備的最新狀態(tài),需要使用設備 ID 作為參數(shù)調用 API。以下為對應的 Python 應用代碼邏輯:

#云開發(fā)項目里關聯(lián)設備的IDdevice_id='65057368c44f3380cc4b'r=GET(url=f'/v1.0/devices/{device_id}/status') print(r)

返回結果示例如下所示,更多詳情,請參考智能設備的 指令集:

{"result":[ {"code":"switch","value":true }, {"code":"countdown_1","value":0 }, {"code":"cur_current","value":68 }, {"code":"cur_power","value":3 }, {"code":"cur_voltage","value":2125 } ],"success":true,"t":1606880360840}

在控制一個未知的設備之前,有時您并不知道可以下發(fā)哪些指令來控制設備。這時就可以先用這個 API 獲得這個設備所有可用的控制指令,然后再下發(fā)具體指令來控制設備。

r=GET(url=f'/v1.0/devices/{device_id}/functions') print(r)

以智能插座為例,返回結果示例如下:

{"result":{"category":"cz","functions":[ {"code":"switch","desc":"[插座]開關","name":"開關","type":"Boolean","values":"{}" }, {"code":"countdown_1","desc":"開關1倒計時","name":"開關1倒計時","type":"Integer","values":"{"unit":"s","min":0,"max":86400,"scale":0,"step":1}" } ] },"success":true,"t":1606880309547}

獲取到設備指令集后,您可以調用 下發(fā)設備指令 API 來控制智能設備。

#根據(jù)該設備的控制指令集組裝參數(shù)d={"commands":[{"code":"switch","value":True},]} r=POST(url=f'/v1.0/devices/{device_id}/commands',body=d) print(r)

返回結果示例:

{"result":true,"success":true,"t":1606880463013}

詳情 :基于涂鴉云開發(fā)平臺的 Python IoT 開發(fā)實踐 (tuya.com)

小結

本文介紹了如何使用 Python 基于涂鴉云開發(fā)平臺,調用基礎 API 控制一個智能設備。由于 Powered By Tuya 設備體系嚴格的統(tǒng)一性,您可以將這個控制方式拓展到所有 Powered By Tuya 設備中。讓您無需考慮設備異構性,能夠快速構建 IoT 應用和服務。

fqj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人工智能
    +關注

    關注

    1792

    文章

    47354

    瀏覽量

    238811
  • IOT
    IOT
    +關注

    關注

    187

    文章

    4214

    瀏覽量

    196961
收藏 人收藏

    評論

    相關推薦

    嵌入式和人工智能究竟是什么關系?

    領域,如工業(yè)控制智能家居、醫(yī)療設備等。 人工智能是計算機科學的一個分支,它研究如何使計算機具備像人類一樣思考、學習、推理和決策的能力。人工智能的發(fā)展歷程可以追溯到上世紀50年代,經(jīng)
    發(fā)表于 11-14 16:39

    《AI for Science:人工智能驅動科學創(chuàng)新》第6章人AI與能源科學讀后感

    的實際應用。這些案例涵蓋了智能電網(wǎng)、可再生能源預測、能源效率提升等多個方面。通過這些案例,我深刻體會到人工智能在提高能源生產(chǎn)、傳輸和消費效率方面的巨大作用。例如,智能電網(wǎng)通過人工智能
    發(fā)表于 10-14 09:27

    《AI for Science:人工智能驅動科學創(chuàng)新》第一章人工智能驅動的科學創(chuàng)新學習心得

    周末收到一本新書,非常高興,也非常感謝平臺提供閱讀機會。 這是一本挺好的書,包裝精美,內容詳實,干活滿滿。 《AI for Science:人工智能驅動科學創(chuàng)新》這本書的第一章,作為整個著作的開篇
    發(fā)表于 10-14 09:12

    文檔】在智能硬件的大模型語音交互流程中接入RAG知識庫

    本帖最后由 jf_40317719 于 2024-9-29 17:13 編輯 智能硬件的語音交互接入大模型后可以直接理解自然語言內容,但大模型作為一個語言模型,對專業(yè)領域知識的訓練缺乏也是
    發(fā)表于 09-29 17:12

    risc-v在人工智能圖像處理應用前景分析

    RISC-V在人工智能圖像處理領域的應用前景十分廣闊,這主要得益于其開源性、靈活性和低功耗等特點。以下是對RISC-V在人工智能圖像處理應用前景的詳細分析: 一、RISC-V的基本特點 RISC-V
    發(fā)表于 09-28 11:00

    人工智能ai 數(shù)電 模電 模擬集成電路原理 電路分析

    人工智能ai 數(shù)電 模電 模擬集成電路原理 電路分析 想問下哪些比較容易學 不過好像都是要學的
    發(fā)表于 09-26 15:24

    人工智能ai4s試讀申請

    目前人工智能在繪畫對話等大模型領域應用廣闊,ai4s也是方興未艾。但是如何有效利用ai4s工具助力科研是個需要研究的課題,本書對ai4s基本原理和原則,方法進行描訴,有利于總結經(jīng)驗,擬按照要求準備相關體會材料。看能否有助于入門和提高ss
    發(fā)表于 09-09 15:36

    名單公布!【書籍評測活動NO.44】AI for Science:人工智能驅動科學創(chuàng)新

    ! 《AI for Science:人工智能驅動科學創(chuàng)新》 這本書便將為讀者徐徐展開AI for Science的美麗圖景,與大家一起去了解: 人工智能究竟幫科學家做了什么? 人工智能將如何改變我們所生
    發(fā)表于 09-09 13:54

    報名開啟!深圳(國際)通用人工智能大會將啟幕,國內外大咖齊聚話AI

    8月28日至30日,2024深圳(國際)通用人工智能大會暨深圳(國際)通用人工智能產(chǎn)業(yè)博覽會將在深圳國際會展中心(寶安)舉辦。大會以“魅力AI·無限未來”為主題,致力于打造全球通用人工智能領域集產(chǎn)品
    發(fā)表于 08-22 15:00

    FPGA在人工智能中的應用有哪些?

    定制化的硬件設計,提高了硬件的靈活性和適應性。 綜上所述,F(xiàn)PGA在人工智能領域的應用前景廣闊,不僅可以用于深度學習的加速和云計算的加速,還可以針對特定應用場景進行定制化計算,為人工智能
    發(fā)表于 07-29 17:05

    Python中的人工智能框架與實例

    人工智能(AI)領域,Python因其簡潔的語法、豐富的庫和強大的社區(qū)支持,成為了最受歡迎的編程語言之一。本文將詳細介紹Python中的人工智能框架,并通過具體實例展示如何使用這些框
    的頭像 發(fā)表于 07-15 14:54 ?1748次閱讀

    Python人工智能領域的應用

    在當今這個科技日新月異的時代,人工智能(AI)已經(jīng)滲透到我們生活的方方面面,從智能家居到自動駕駛,從智能醫(yī)療到金融風控,無一不體現(xiàn)著AI的力量。而在這一場技術革命中,Python作為一
    的頭像 發(fā)表于 07-02 18:20 ?1164次閱讀

    5G智能物聯(lián)網(wǎng)課程之Aidlux下人工智能開發(fā)(SC171開發(fā)套件V2)

    Aidlite-SDK模型推理 https://v2.docs.aidlux.com/sdk-api/aidlite-sdk/aidlite-python 人工智能 5G AIoT技術實踐入門與探索_V2 59分
    發(fā)表于 05-10 16:46

    5G智能物聯(lián)網(wǎng)課程之Aidlux下人工智能開發(fā)(SC171開發(fā)套件V1)

    機器人案例.pdf 人工智能 AI泛邊緣:智能安防訓 31分38秒 https://t.elecfans.com/v/25509.html *附件:泛邊緣案例課.pdf 人工智能
    發(fā)表于 04-01 10:40

    嵌入式人工智能的就業(yè)方向有哪些?

    聯(lián)網(wǎng)ARM開發(fā) NB-IoT開發(fā)及實戰(zhàn) 七:python工程師,人工智能工程師 python語法基礎 python核心編程 基于OpenCV
    發(fā)表于 02-26 10:17
    主站蜘蛛池模板: 门事件快播| 观看免费做视频| 美女内射少妇一区二区四区| TIMI1TV天美传媒在线观看| 无码99久热只有精品视频在线 | 久久99精品国产自在自线| jizz中国女人| 中文字幕乱码亚洲无线三区| 午夜福利合集1000在线| 飘雪在线观看免费完整版| 巨乳中文无码亚洲| 极品美女穴| 国产日韩久久久精品影院首页| YY6080A旧里番在线观看| 中文字幕在线观看| 亚洲欧美人成视频在线| 天天久久狠狠色综合| 欧美精品华人在线| 麻豆精品国产剧情观看| 精品国产免费观看久久久| 国产精品免费观看视频播放| yin荡体育课羞耻play双性| 8x8x我要打机飞在线观看| 一区二区三区无码高清视频| 亚洲国产在线精品国偷产拍| 石原莉奈rbd806中文字幕| 热re99久久精品国99热| 欧美另类老少配hd| 嫩草影院久久国产精品| 久青草国产在线视频| 久久久久九九| 久久久无码精品亚洲A片猫咪| 黄色大片aa| 精品国产mmd在线观看| 狠日狠干日曰射| 果冻传媒2021一二三在线观看| 国产精品色欲AV亚洲三区软件| 国产成人无码视频一区二区三区| 不分昼夜H1V3| 达达兔午夜一级毛片| 丁香成人网址|