色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

溫室照明的自動(dòng)化與控制實(shí)戰(zhàn)演練

發(fā)布時(shí)間:2020-2-25 16:05    發(fā)布者:eechina
關(guān)鍵詞: 溫室 , 照明 , 自動(dòng)化 , 控制
作者:Michael Parks

在之前的園藝項(xiàng)目中,我們研究了溫度、環(huán)境濕度、自身濕度、pH值和CO2含量對(duì)植物生長(zhǎng)的影響。在本文中,我們將研究植物光合作用的另一個(gè)關(guān)鍵因素—光照。本項(xiàng)目將允許園藝工作人員監(jiān)測(cè)和遠(yuǎn)程控制人工光照?刂骗h(huán)境園藝(CE)是借助數(shù)字技術(shù)來(lái)控制植物生長(zhǎng)的一種奇妙方式,它正在成為一種越來(lái)越重要的機(jī)制,協(xié)助穩(wěn)定地球糧食供應(yīng)鏈。與室內(nèi)垂直農(nóng)場(chǎng)一樣,有時(shí)我們的園藝項(xiàng)目無(wú)法保證光照度,這時(shí)使用人工智能照明就非常重要。

本項(xiàng)目將利用Medium One端到端物聯(lián)網(wǎng)云平臺(tái),允許終端用戶(hù)監(jiān)控、自動(dòng)化和遠(yuǎn)程控制園藝設(shè)施中的人工照明,無(wú)論是溫室、垂直農(nóng)場(chǎng)還是其他需要此類(lèi)功能的環(huán)境,都適用。

準(zhǔn)備材料

本項(xiàng)目將使用支持快速原型設(shè)計(jì)的Microchip Xplained開(kāi)發(fā)板系列,以及SAM W25 Xplained Pro評(píng)估套件。Xplained開(kāi)發(fā)板搭載基于Arm®Cortex®-M0+的ATSAMD21G18A微控制器。其他關(guān)鍵組件包括:

1、Sparkfun TEMT6000環(huán)境光傳感器
2、開(kāi)關(guān)電源(額定值為75.6W、2.1A @ 36V)
3、Microchip MIC3202 HB LED驅(qū)動(dòng)器
4、LED燈條

物料清單

物料清單(BOM)如下所示。您也可以訪問(wèn)mouser.com訂購(gòu)所需的零件。截至本文撰寫(xiě)時(shí),以下物料清單的價(jià)格約為125美元(USD),其中不含LED燈條。若把LED燈條計(jì)算在內(nèi),成本也就是400美元多一點(diǎn)。表1列出了物料清單中的物料。



工具和其他資源

以下是完成本項(xiàng)目所需的推薦工具列表:

運(yùn)行Arduino IDE或Atmel Studio 7.0的Windows計(jì)算機(jī)
Wi-Fi網(wǎng)絡(luò)(802.11/b/g/n/ac)
剝線鉗
數(shù)字萬(wàn)用表
尖嘴鉗
18AWG或16AWG、300V(最小值)、雙線電纜(用于室外照明)
Wieland RST 16i2/3母接頭


圖1:Wieland RST 16i2/3連接器適用于可能存在濕氣的環(huán)境(例如園藝應(yīng)用)

概覽

本項(xiàng)目中使用的傳感器和控制器板通過(guò)兩種方式與Xplained微控制器板進(jìn)行通信—一種是以數(shù)字方式利用脈寬調(diào)制信號(hào),另一種是利用微控制器的模數(shù)轉(zhuǎn)換器(ADC)所讀取的0V-5V模擬信號(hào)。

1、MIC3202 HB LED驅(qū)動(dòng)器:MIC3202有兩個(gè)在邏輯電平電壓下工作的控制引腳。第一個(gè)是EN(或ENABLE)引腳。此引腳控制輸出(-LED和+LED)的開(kāi)關(guān)。如果將EN引腳置高,則功率被輸送到LED電源線。相反,如果將EN引腳接地,到LED的輸出電壓將被切斷,從而關(guān)閉所有連接到輸出的LED。

第二個(gè)引腳是DIM引腳,負(fù)責(zé)控制LED的亮度。DIM引腳尋找脈寬調(diào)制(PWM)信號(hào)來(lái)作為L(zhǎng)ED亮度的控制信號(hào)。改變PWM信號(hào)的占空比將導(dǎo)致亮度變化—100%占空比可實(shí)現(xiàn)最大亮度,0%將關(guān)閉LED。

2、TEMT6000環(huán)境光傳感器:該傳感器的作用類(lèi)似于一個(gè)NPN晶體管,其基極引出端由光照控制。它被配置在共集電極放大電路拓?fù)渲,使輸入端的任何?xì)微變化,都能讓連接到微控制器模數(shù)轉(zhuǎn)換器(ADC)引腳的CE系統(tǒng)輸出放大的信號(hào)。光線亮度越高,微控制器ADC輸入引腳上的電流就越大,電壓也越高。

組裝電子設(shè)備

本項(xiàng)目必須牢記的一點(diǎn)是我們要使用交流電源,安全高于一切。觸電和火災(zāi)都是潛在的危險(xiǎn),所以要注意硬件和電線插頭。要確保電線絕緣,并準(zhǔn)備好滅火器。最后,在將電線插入墻上的交流插座之前,檢查所有連接線兩次。另外還要注意,我是在美國(guó),這里的電壓是120VAC,頻率為60Hz,您的設(shè)備需要根據(jù)您所在地區(qū)的電氣規(guī)格進(jìn)行調(diào)整。

本項(xiàng)目的組裝步驟如下:

LRS 75-36開(kāi)關(guān)電源

1、使用一端帶有NEMA 15-5P插頭的電纜,露出電纜另一端的火線、零線和地線。
2、用萬(wàn)用表確認(rèn)插座孔與地線、火線和零線的對(duì)應(yīng)關(guān)系。不同電纜的這幾根線顏色不一樣,所以不要太過(guò)依賴(lài)下面的圖片。
3、將電纜的火線插入電源上標(biāo)有“L”的插孔。
4、將電纜的零線插入電源上標(biāo)有“N”的插孔。
5、將電纜的地線插入電源上標(biāo)有“G”的插孔。
6、取一英尺長(zhǎng)的16AWG雙線室外照明電纜,并剝?nèi)啥恕?br /> 7、選擇電纜的一端,將白線插入電源的V+插孔。
8、將黑線插入電源的V-插孔。


圖2:電源接線完成。頂部為 NEMA 15-5P插頭,底部為16AWG室外照明電纜,連接到LED驅(qū)動(dòng)板

MIC3202 HB LED驅(qū)動(dòng)板

1、使用前面的16AWG雙線室外照明電纜的另一端,將白線焊接到VIN雙轉(zhuǎn)塔焊接端子上。
2、將黑線焊接到GND雙轉(zhuǎn)塔焊接端子上。
3、取一根6英尺長(zhǎng)的16AWG雙線室外照明電纜,并剝?nèi)啥恕?br /> 4、選擇電纜的一端,將白線焊接到LED+雙轉(zhuǎn)塔焊接端子上。
5、將黑線焊接到LED-雙轉(zhuǎn)塔焊接端子上。


圖3:雙轉(zhuǎn)塔焊接端子

SAM W25 Xplained Pro開(kāi)發(fā)板

1、將MIC3202板上的EN引腳連接到Xplained Pro開(kāi)發(fā)板上的引腳5。
2、將MIC3202板上的DIM引腳連接到Xplained Pro開(kāi)發(fā)板上的引腳7。
3、將MIC3202板上的GND引腳連接到Xplained Pro開(kāi)發(fā)板上的GND引腳。


圖4:SAM W25板(頂部)、TEMT6000光傳感器(左下方)和LED驅(qū)動(dòng)板(右下方)

TEMT6000環(huán)境光傳感器

1、將3引腳公接頭焊接到TEMT6000分線板。
2、將TEMT6000板上的“VCC”引腳連接到Xplained Pro開(kāi)發(fā)板上的VCC引腳。
3、將TEMT6000板上的“GND”引腳連接到Xplained Pro開(kāi)發(fā)板上的GND引腳。
4、將TEMT6000板上的“SIG”引腳連接到Xplained Pro開(kāi)發(fā)板上的引腳3。


圖5:TEMT6000環(huán)境光傳感器

LED燈條

1、找到連接至MIC3202板的6英尺長(zhǎng)16AWG雙線室外照明電纜的另一端。
2、將兩根裸露的電線插入Wieland RST16i2/3母接頭。
3、將Wieland RST16i2/3母接頭連接到LED燈條上的Wieland RST16i2/3公接頭。


圖6:項(xiàng)目的功能框圖

軟件

在這一節(jié),我們將詳細(xì)介紹本項(xiàng)目中涉及的軟件,闡述Microchip Xplained開(kāi)發(fā)板所需的固件和支持文件,以及Medium One沙盒在您的網(wǎng)絡(luò)瀏覽器中的設(shè)置。您可以根據(jù)自己的個(gè)人喜好,使用Atmel Studio 7或Arduino IDE來(lái)編輯為本項(xiàng)目提供的源代碼。

為方便您使用Arduino IDE,Microchip在其GitHub網(wǎng)站上提供了所需的文件。在Arduino IDE中,轉(zhuǎn)到File>Preferences>Additional Boards Manager URLs,然后添加此URL:https://github.com/AtmelUniversi ... le_0.3.0_index.json

本項(xiàng)目的軟件分為三部分:
1、微控制器固件,使用C語(yǔ)言編寫(xiě)。
2、向終端用戶(hù)智能手機(jī)和微控制器發(fā)送命令并從其接收命令的云應(yīng)用程序,使用Python編寫(xiě)。
3、Medium One提供的智能手機(jī)應(yīng)用程序,針對(duì)本項(xiàng)目專(zhuān)門(mén)配置。

Microchip Xplained開(kāi)發(fā)板固件

在微控制器板上運(yùn)行的固件很簡(jiǎn)單。代碼按順序執(zhí)行以下操作:

設(shè)置
1、建立到主機(jī)的9600波特串行調(diào)試連接。
2、嘗試連接所需的無(wú)線網(wǎng)絡(luò)。
3、連接到MQTT代理。
4、訂閱MQTT代理,此代理為從Medium One發(fā)送到微控制器的所有消息提交主題。
5、將各個(gè)I/O引腳設(shè)置為輸入或輸出。

主重復(fù)循環(huán)
6、使用心跳消息輪詢(xún)MQTT服務(wù)器以保持連接。
7、讀取TEMT6000環(huán)境光傳感器的讀數(shù)。
8、確定系統(tǒng)處于手動(dòng)還是自動(dòng)模式。
9、如果是處于自動(dòng)模式,則通過(guò)將0至1023的數(shù)字化亮度信號(hào)映射到255至0的值來(lái)控制在DIM引腳上發(fā)送的PWM信號(hào)的占空比,從而調(diào)整LED亮度。
10、如果處于手動(dòng)控制模式,則通過(guò)將用戶(hù)智能手機(jī)上設(shè)置的0%至100%的設(shè)定值映射到255至0的值來(lái)控制在DIM引腳上發(fā)送的PWM信號(hào)的占空比,從而調(diào)整LED亮度。
11、檢查自上次向MQTT代理發(fā)送消息以來(lái)是否至少經(jīng)過(guò)了1000毫秒。如果是,則向代理發(fā)送包含環(huán)境光傳感器最新讀數(shù)的新消息。
12、處理從MQTT代理接收的任何消息。
13、將收到的消息輸出到串行端口。
14、將有效載荷轉(zhuǎn)換為字符串。
15、確定字符串是否正在請(qǐng)求打開(kāi)或關(guān)閉手動(dòng)控制;或者確定它是不是應(yīng)指定為手動(dòng)亮度設(shè)定值的整數(shù)。

關(guān)于項(xiàng)目中使用的map函數(shù)的簡(jiǎn)要說(shuō)明——map函數(shù)的定義如下:

map(value, fromLow, fromHigh, toLow,toHigh)

map函數(shù)可用于將數(shù)字從一個(gè)范圍映射到另一個(gè)范圍。例如,模數(shù)轉(zhuǎn)換器(ADC)的分辨率為1024,而analogWrite函數(shù)只接受0到255的值。map函數(shù)接受5個(gè)參數(shù),包括:

1、要映射的數(shù)字。
2、當(dāng)前范圍值的下限。
3、當(dāng)前范圍值的上限。
4、目標(biāo)范圍值的下限。
5、目標(biāo)范圍值的上限。

map函數(shù)將返回映射到新范圍的整數(shù)。例如:

X=map(50, 1, 100, 1, 200);

在這個(gè)示例中,x將設(shè)置為100,因?yàn)?0是原來(lái)1和100范圍內(nèi)的中間值,而100是新范圍內(nèi)的中間值。

項(xiàng)目文件
以下文件位于:https://github.com/Mouser-Electr ... orticultureLighting。

MicrochipHorticultureLighting.ino:用于本文任務(wù)的項(xiàng)目特定代碼存儲(chǔ)在此文件中。它基于Medium One提供的示例,演示嵌入式設(shè)備如何與物聯(lián)網(wǎng)平臺(tái)的后臺(tái)交互。

secrets.h:在使用公開(kāi)發(fā)布的項(xiàng)目時(shí),始終存在泄露敏感數(shù)據(jù)(如密碼或API密鑰)的風(fēng)險(xiǎn)。我們可以創(chuàng)建一個(gè)未發(fā)布的頭文件來(lái)存儲(chǔ)這些信息,而不是直接將這些信息硬編碼到固件中,這樣就不必在每次Git提交之前更改代碼。

庫(kù)
預(yù)處理器指令#include允許我們將庫(kù)添加到項(xiàng)目中,從而促進(jìn)代碼復(fù)用。除非您有非常特殊的需求,否則就不需要再重新編寫(xiě)代碼。本項(xiàng)目使用以下庫(kù):

ArduinoMQTTClient.h:這個(gè)庫(kù)為基于MQTT的服務(wù)提供一個(gè)方便的接口。
WiFi101.h:這個(gè)庫(kù)提供ATWINC1500芯片接口,以簡(jiǎn)化與Wi-fi網(wǎng)絡(luò)的交互。


圖7:來(lái)自微控制器和智能手機(jī)應(yīng)用程序的原始數(shù)據(jù)流

變量與常量

前幾個(gè)變量是存儲(chǔ)各種必要信息的字符數(shù)組。首先,SSID和WPA2是連接到所需無(wú)線網(wǎng)絡(luò)的密鑰。接下來(lái),broker和port存儲(chǔ)MQTT服務(wù)器的URL及其使用的TCP端口。然后,topic和subtopic存儲(chǔ)URL路徑,并通過(guò)MQTT消息從Medium One接收數(shù)據(jù)或?qū)?shù)據(jù)提交到Medium One。最后,pubMessageStart和pubMessageEnd是消息的固定部分,它們將亮度讀數(shù)發(fā)送到Medium One。
char ssid[ ]=SECRET_SSID
const char broker[ ]=SECRET_BROKER
const int port=SECRET_PORT
char pass[ ]=SECRET_PASS
const char topic[ ]=SECRET_TOPIC
const char subtopic[ ]=SECRET_SUBTOPIC
const char pubMessageStart[ ]="{"event_data":{"lux":""
const char pubMessageEnd[ ]=""}}"

接下來(lái),有幾個(gè)常量用于控制硬件的功能和交互。
const int lightSensorPin=3:設(shè)置ADC輸入引腳,用于接收來(lái)自TEMT600光傳感器的輸出信號(hào)。
const int DIMControlPin=7:將PWM引腳設(shè)置為連接到LED驅(qū)動(dòng)板上DIM引腳的輸出,用于控制LED的亮度。
const int ENControlPin=5:將GPIO引腳設(shè)置為連接到LED驅(qū)動(dòng)板上EN引腳的輸出,用于打開(kāi)或關(guān)閉驅(qū)動(dòng)板的輸出。
const long interval=1000:將發(fā)往Medium One服務(wù)器的傳輸間隔設(shè)置為1000毫秒(即1秒)。

接下來(lái),還有幾個(gè)常量用于控制硬件的功能和交互。
unsigned long previousMillis=0:跟蹤上次向MQTT代理發(fā)送消息時(shí)的時(shí)間戳。
unsigned int manualBrightSetPoint=100:存儲(chǔ)處于手動(dòng)控制模式時(shí)LED亮度級(jí)別的設(shè)定值。
unsigned int setBrightPWM=255:將轉(zhuǎn)換后的設(shè)定值存儲(chǔ)在連接到LED驅(qū)動(dòng)板上DIM引腳的PWM引腳所需的占空比值中。
unsigned int sensorBrightnessReading=0:存儲(chǔ)從TEMT6000環(huán)境光傳感器獲取的最新亮度讀數(shù)。
bool manualMode_ON=false:一個(gè)布爾變量,用于跟蹤用戶(hù)希望系統(tǒng)在手動(dòng)還是自動(dòng)控制模式下運(yùn)行。

最后,我們還提供各種類(lèi)的示例:
WiFiClient:創(chuàng)建WiFi客戶(hù)端類(lèi)的實(shí)例,該實(shí)例允許ATSAMD21G18A芯片與ATWINC1500 wifi芯片交互,并建立到Wi-Fi網(wǎng)絡(luò)的連接。
MQTTClient:創(chuàng)建MQTT客戶(hù)端類(lèi)的實(shí)例,該實(shí)例允許固件通過(guò)簡(jiǎn)單的函數(shù)調(diào)用與Medium One的MQTT代理交互。

函數(shù)

void setup():要運(yùn)行的第一個(gè)函數(shù)將初始化所需的許多硬件和軟件組件,如串行通信、Wi-Fi連接、傳感器接口以及與GPIO引腳的交互。
void loop():這是將持續(xù)運(yùn)行的功能的核心。注意確保主循環(huán)的代碼盡量簡(jiǎn)單,并將功能分配給專(zhuān)門(mén)的函數(shù)承擔(dān),每個(gè)函數(shù)負(fù)責(zé)執(zhí)行項(xiàng)目運(yùn)轉(zhuǎn)所需的某項(xiàng)任務(wù)。
void onMQTTMessage(int messageSize):此函數(shù)處理從Medium One服務(wù)器接收的任何消息。

配置Medium One

Medium One為物聯(lián)網(wǎng)開(kāi)發(fā)人員提供了一個(gè)平臺(tái),在這個(gè)平臺(tái)上開(kāi)發(fā)人員的物聯(lián)網(wǎng)設(shè)備可以傳輸和編譯來(lái)自多個(gè)物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)集。Medium One提供了一個(gè)很棒的教程,介紹如何開(kāi)始使用其服務(wù)。本指南將重點(diǎn)介紹我們?cè)谠O(shè)置Microchip Xplained通過(guò)其MQTT API與Medium One通信時(shí)遇到的問(wèn)題。本項(xiàng)目將利用Medium One的MQTT(消息隊(duì)列遙測(cè)傳輸)協(xié)議。MQTT是一個(gè)基于發(fā)布-訂閱的消息傳遞協(xié)議,位于TCP/IP協(xié)議之上。與RESTful API相反,MQTT需要一個(gè)集中式消息代理。因此,端點(diǎn)設(shè)備不能彼此直接通信。這有利也有弊。RESTful API依賴(lài)客戶(hù)機(jī)始終啟動(dòng)通信,而MQTT由于使用了發(fā)布/訂閱(Pub/Sub)架構(gòu),允許服務(wù)器推送數(shù)據(jù)。RESTful設(shè)備可以直接相互通信。MQTT依賴(lài)于集中式消息代理(例如,云中的服務(wù)器),在傳輸此類(lèi)遙測(cè)數(shù)據(jù)時(shí)效率要高得多。


圖8:Medium One的配置畫(huà)面

第一步是在https://www.medium.one上創(chuàng)建一個(gè)免費(fèi)帳戶(hù)。有了帳戶(hù)后,需要從其Web用戶(hù)界面的右上角創(chuàng)建一個(gè)新項(xiàng)目。

新項(xiàng)目激活后,必須記下Medium One自動(dòng)生成的一些關(guān)鍵信息,以便后面在固件中使用(具體來(lái)說(shuō),就是把這些信息存儲(chǔ)在secretstuff.h頭文件中)。這些關(guān)鍵信息包括:

Project ID:這個(gè)字母數(shù)字字符串是分配給項(xiàng)目的唯一標(biāo)識(shí)符。它讓Medium One知道,如果有多個(gè)項(xiàng)目托管在他們的web服務(wù)上,需要將Microchip Xplained開(kāi)發(fā)板環(huán)境數(shù)據(jù)傳送到哪個(gè)項(xiàng)目。
API Key:這個(gè)自動(dòng)生成的字母數(shù)字字符串,允許我們登錄并使用Medium One的API服務(wù)。
MQTT ID:每個(gè)項(xiàng)目可以有多個(gè)貢獻(xiàn)者。注意,登錄ID與MQTT ID不同。MQTT ID是Medium One生成的字母數(shù)字字符串。登錄ID是終端用戶(hù)創(chuàng)建的人類(lèi)可讀字符串。例如“sallymsith”。固件需要的信息是MQTT ID而不是登錄ID。
User Password:這是每個(gè)用戶(hù)在為項(xiàng)目建立帳戶(hù)時(shí)創(chuàng)建的密碼。出于安全原因,它不會(huì)顯示在任何地方,因此請(qǐng)務(wù)必記住此密碼!

接下來(lái),我們確定可以從Medium One 網(wǎng)站的哪個(gè)地方獲取這些信息:

Setup->Project Info:此處將顯示Project ID。
Setup->Manage Users:此處包含Login ID和用戶(hù)的MQTT ID。請(qǐng)記住,固件需要的是MQTT ID,而不是Login ID。
Setup->Manage API Keys:這里可以找到API Key。

固件還需要另外兩項(xiàng)關(guān)鍵信息:Medium One MQTT服務(wù)器URL(MQTT.mediumone.com)和TCP端口,端口值為61619(非安全)或61620(安全)。最后,我們需要設(shè)置一個(gè)儀表板,看是否收到了來(lái)自Microchip Xplained開(kāi)發(fā)板的數(shù)據(jù)。為此我們需要:

轉(zhuǎn)至Dashboard并選擇Single User Real-Time Events Stream選項(xiàng)。
從下拉框中選擇要查看的用戶(hù)。
這將創(chuàng)建儀表板并開(kāi)始監(jiān)聽(tīng)數(shù)據(jù)。如果綠色播放按鈕可見(jiàn),則單擊它開(kāi)始收聽(tīng)。否則,將有一個(gè)紅色的暫停按鈕,可用于在需要時(shí)暫停饋入。
如果一切正常,來(lái)自Microchip Xplained開(kāi)發(fā)板的原始MQTT數(shù)據(jù)包應(yīng)開(kāi)始在瀏覽器中顯示。請(qǐng)確保Microchip Xplained開(kāi)發(fā)板通過(guò)計(jì)算機(jī)的USB連接供電,或通過(guò)墻壁上的交流電源插座供電。

云和智能手機(jī)應(yīng)用程序

Medium One提供易于使用的資源,創(chuàng)建與物聯(lián)網(wǎng)設(shè)備交互的基本智能手機(jī)應(yīng)用程序。這些應(yīng)用程序目前僅適用于iOS設(shè)備,但預(yù)計(jì)將來(lái)也會(huì)支持Android。

對(duì)于本項(xiàng)目,請(qǐng)下載Medium One在Apple iOS App Store上提供的專(zhuān)用"IoT Controller"。


圖9:Medium One Workflow Studio


圖10:將新的小部件添加到智能手機(jī)應(yīng)用程序中

要詳細(xì)了解設(shè)置手機(jī)應(yīng)用程序的步驟說(shuō)明,請(qǐng)點(diǎn)擊查看Medium One的教程。本節(jié)將重點(diǎn)介紹此特定項(xiàng)目需要完成的工作。我們將從添加新的小部件開(kāi)始,讓用戶(hù)控制燈光是自動(dòng)控制模式還是手動(dòng)控制模式。

1、在智能手機(jī)應(yīng)用程序上,單擊+Add New Widget。
2、選擇Switch。
3、在Stream中輸入raw。
4、輸入“ManualControl”作為標(biāo)簽。
5、單擊Done。
6、單擊Save。
7、撥動(dòng)開(kāi)關(guān)并查找要在Real Time Events Stream中顯示的消息。
8、回到臺(tái)式機(jī)上,從Medium One儀表板單擊Config>Data Streams>Raw。
9、確保raw.manualControl標(biāo)簽勾選了Active復(fù)選框。
10、從Medium One儀表板單擊Workflow     Studio > Create。
11、將其命名為類(lèi)似“Switch for Manual Control”的名稱(chēng)。
12、在屏幕的右側(cè),選擇Tags & Triggers>raw>manualControl并拖到Studio屏幕上。
13、在屏幕的右側(cè),選擇Modules>Foundation>Base Python并拖到Studio屏幕上。
14、雙擊Base Python模塊并在Script部分輸入以下代碼:

import MQTT
mode=IONode.get_input('in1')['event_data']['value']
if(mode == "on"):
MQTT.publish_event_to_client('device1','manualControl_ON', encoding='utf-8')
else:
MQTT.publish_event_to_client('device1','manualControl_OFF', encoding='utf-8')

15、按Save and Activate。
16、撥動(dòng)智能手機(jī)上的開(kāi)關(guān),確認(rèn)在打開(kāi)和關(guān)閉manualControl的情況下分別顯示manualControl_ON和manualControl_OFF消息。


圖11:完成時(shí)的用戶(hù)界面(UI)

接下來(lái),讓我們創(chuàng)建一個(gè)滑塊來(lái)控制LED的亮度。

1、在智能手機(jī)應(yīng)用程序上,單擊+Add New Widget。
2、選擇Switch。
3、在Stream中輸入raw。
4、輸入“ManualBrightnessSetPoint”作為標(biāo)簽。
5、單擊Done。
6、單擊Save。
7、上下滑動(dòng)開(kāi)關(guān),查找要在Real Time Events Stream中顯示的消息。
8、回到臺(tái)式機(jī)上,從Medium One儀表板單擊Config>Data Streams>Raw。
9、確保為raw.ManualBrightnessSetPoint標(biāo)簽勾選Active復(fù)選框。
10、從Medium One儀表板單擊Workflow Studio>Create。
11、將其命名為類(lèi)似“Set Manual Brightness Level”的名稱(chēng)。
12、在屏幕的右側(cè),選擇Tags & Triggers>raw>ManualBrightnessSetPoint并拖到Studio屏幕上。
13、在屏幕的右側(cè),選擇Modules>Foundation>Base Python并拖到Studio屏幕上。
14、雙擊Base Python模塊并在Script部分輸入以下代碼:

import MQTT
level=IONode.get_input('in1')['event_data']['value']
MQTT.publish_event_to_client('device1',str(level), encoding='utf-8')

15、按Save and Activate。

撥動(dòng)智能手機(jī)上的開(kāi)關(guān),確認(rèn)顯示的消息包含0到100之間的字符串值(整數(shù))。


圖12a:負(fù)責(zé)處理智能手機(jī)交互的后臺(tái)代碼。頂部:設(shè)置手動(dòng)亮度設(shè)定值。底部:打開(kāi)和關(guān)閉手動(dòng)模式


圖12b:底部:打開(kāi)和關(guān)閉手動(dòng)模式


圖13:使用智能手機(jī)控制照明

運(yùn)行中的項(xiàng)目

在項(xiàng)目編譯好之后,將Xplained開(kāi)發(fā)板連接到計(jì)算機(jī)并啟動(dòng)串行終端。您應(yīng)該能遙測(cè)到來(lái)自光傳感器的數(shù)據(jù)流以及發(fā)往和來(lái)自Medium One MQTT代理的MQTT消息。如果沒(méi)有,請(qǐng)檢查是否有錯(cuò)誤消息。一些常見(jiàn)錯(cuò)誤包括:

1、電源的火線、零線、地線接錯(cuò)。
2、電源或LED驅(qū)動(dòng)板上的V+和V-接反。
3、LED燈條或LED驅(qū)動(dòng)板上的LED-和LED+接反。
4、傳感器的電源線和地線接反。
5、如果給設(shè)備供電,確保電源至少能提供1A的電流。
6、無(wú)線網(wǎng)絡(luò)未運(yùn)行,或者SSID/安全密鑰輸入錯(cuò)誤。


圖14:左側(cè):亮度約為50%、右側(cè):亮度約為90%


文章來(lái)源:貿(mào)澤電子

作者簡(jiǎn)介:專(zhuān)業(yè)工程師Michael Parks是貿(mào)澤電子的特約作者,同時(shí)也是GreenShoe Garage的所有者。Green ShoeGarage是一個(gè)提供定制電子設(shè)計(jì)的工作室和技術(shù)咨詢(xún)機(jī)構(gòu),位于馬里蘭州南部。MichaelParks創(chuàng)辦了《S.T.E.A.M. Power Podcast》播客來(lái)提升公眾對(duì)科技的認(rèn)知,他擁有馬里蘭州專(zhuān)業(yè)工程師資質(zhì)并擁有約翰·霍普金斯大學(xué)的系統(tǒng)工程碩士學(xué)位。
本文地址:http://www.54549.cn/thread-577997-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表