女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>使用Windows Phone和Intel Edison實現家庭自動化

使用Windows Phone和Intel Edison實現家庭自動化

2022-10-20 | zip | 0.07 MB | 次下載 | 免費

資料介紹

描述

介紹

在最初的項目中,我使用了一個 LED,但當然你可以連接一個 5V 繼電器來完成家庭自動化的工作。

請注意,這是我寫的原始文章的一部分,并發布在?

本文將指導您完成將 Edison 與 Windows Azure 連接的過程,以及如何做一些很酷的事情,例如控制它。此示例將僅打開和關閉連接到 Edison 板上與 Arduino 分線板配對的任何數字引腳的 LED。讓我們看看它是如何工作的。Azure 移動服務將充當 Edison 和控制器之間的橋梁(此處使用 Windows 手機應用程序)。Edison 將從移動服務表中讀取屬性值。Windows 手機應用程序將更新表中的值,因此我們將根據值對 Edison 代碼進行更改。

先決條件

假定讀者具有 Windows 手機應用程序開發的基本知識,并且可以將應用程序與 Azure 移動服務連接起來。如果您不熟悉為您的應用創建后端,請瀏覽此?鏈接。?

首先,讓我們創建一個 Azure 移動服務。?有很多關于創建 Azure 移動服務的文章。按照此?鏈接?創建一個包含單個表的移動服務,并將其命名為?controltable 該表將包含一個名為“ status ”的列和另一個名為“ name ”的列。status列的值??將是 1 或 0,而?name?的值將設置為 Edison/Arduino。

現在我們將開發一個將添加/修改屬性值的 Windows 手機應用程序。下圖為我們展示了 Azure sql 表的截圖。請注意,“設備”的屬性值無關緊要。如果您愿意,您甚至可以排除此屬性。

下一節將討論 Windows 手機應用程序的開發。

Windows 手機應用程序

我們的應用程序將僅包含兩個按鈕:一個?打開?按鈕和一個?關閉?按鈕。該應用程序的屏幕截圖如下所示。

pYYBAGNQx4uAQL4XAABAAu7rjao346.png
開發的移動應用程序截圖
?

您可以忽略注銷按鈕,實際上,我正在嘗試添加一些功能。現在這些按鈕會是什么?這將更新“狀態”?屬性的值。當我們按下按鈕時,“狀態”?的值為1,否則為 0。?

不過有一點問題。如果什么都沒有創建,要更新什么?為此,我們將部署應用程序兩次。第一次,我們將創建表并分配一些默認值。下次我們將只更新以前更新的值。

現在,我們的應用程序已準備就緒。測試應用程序并檢查“狀態”的值是否正在更新。一旦它工作,然后你去。該應用程序已準備就緒。下一部分將集中討論愛迪生代碼。

愛迪生密碼

讓我們進入愛迪生。在開始為您的 Edison 編寫代碼之前,請按照?此處提到的初始步驟?配置您的 Edison。連接 Edison 后,記下您的通訊端口號。然后打開您的 Arduino IDE 并從板上選擇 Intel Edison。如果您沒有找到 Intel Edison 選項,則需要從“ Boards Manager”?選項下載必要的文件。

poYBAGNQx42AOqy8AABzJvpuGWM050.png
董事會經理
?

打開 Arduino IDE 后,前面會提到兩個函數:Void setup() 和 void loop()。愛迪生有一個內置的 Wi-Fi我們將使用 Wi-Fi 將其連接到 Internet。所以我們的第一個行動是包含一個用于 Wi-Fi 的庫。轉到?Sketch ,包括庫,然后?是 Wi-Fi 之后,讓我們添加此代碼以將其連接到 Wi-Fi。?

#include???
#include???
#include???
??
char?ssid[]?=?"avirup171";?//??your?network?SSID?(name)???
char?pass[]?=?"avirupbasu";????//?your?net?ork?password?(use?for?WPA,?or?use?as?key?for?WEP)??
int?keyIndex?=?0;????????????//?your?network?key?Index?number?(needed?only?for?WEP)??
??
void?setup()??
{??
??pinMode(13,OUTPUT);??
??digitalWrite(13,HIGH);??
??Serial.begin(115200);??
??while?(!Serial)?{??
????;?//?wait?for?serial?port?to?connect.?Needed?for?Leonardo?only??
??}??
????
??//?check?for?the?presence?of?the?shield:??
??if?(WiFi.status()?==?WL_NO_SHIELD)?{??
????Serial.println("WiFi?shield?not?present");???
????//?don't?continue:??
????while(true);??
??}???
??
??String?fv?=?WiFi.firmwareVersion();??
??if(?fv?!=?"1.1.0"?)??
????Serial.println("Please?upgrade?the?firmware");??
????
??//?attempt?to?connect?to?Wifi?network:??
??while?(status?!=?WL_CONNECTED)?{???
????Serial.print("Attempting?to?connect?to?SSID:?");??
????Serial.println(ssid);??
????//?Connect?to?WPA/WPA2?network.?Change?this?line?if?using?open?or?WEP?network:????
????status?=?WiFi.begin(ssid,?pass);??
????
??}??
} ??

上面的代碼負責通過 Wi-Fi 將 Edison 連接到互聯網。此外,我們已將 PIN 13 設置為輸出模式,當前狀態為關閉。我們將使用 IDE 的串行監視器來監視該過程。現在,讓我們轉到 void loop()。從 Azure 檢索數據是通過 http get 方法完成的。

void loop()
{
??send_request();??
??wait_response();??
??read_response();??
??end_request();??
??delay(100);??
}??

這些函數將從 Azure 表中檢索數據。但是在深入研究這些方法之前,我們需要添加一些全局變量來將我們的 Edison 鏈接到 Azure 服務。添加這些全局變量:

const?char*?server=?"server name URL"; ?//service URL ?
const?char*?table_name=?"Table name"; //Table name ?
const?char*?ams_key="Your application key";??
char buffer[150];

應用程序密鑰可以在 Azure 門戶的管理密鑰按鈕中找到。現在,我們將為 void loop() 中的方法編寫代碼。

我們執行了一個 HTTP 請求并調用了 GET,我們之前已經指出了表的名稱、服務器的名稱和代碼鍵;這允許正確檢索數據。然后我們指定需要以什么格式檢索數據并將其指定為 JSON。讓我們為 wait_response() 編寫代碼。

然后我們需要讀取檢索到的數據。由于它是 JSON 格式,我們需要解析 JSON 字符串以獲得我們想要的值。下面是示例字符串的示例。

{"id":"2492D996-C471-48F0-B3C9-F33E3B37477F","status":"0","name":"arduino"}

存在一個非常高效的庫,稱為 ArduinoJson。這將完成大部分解析。但是檢索到的 JSON 字符串包含在 '[' 和 ']' 中。必須刪除這些才能使庫正常工作。因此,首先您需要在代碼中包含該庫并添加以下全局變量并添加:

#include?????
???
#define?RESPONSE_JSON_DATA_LINENNO?10????
????
int?charIndex=0;????
StaticJsonBuffer<200>?jsonbuffer; ??

然后在您的read_response()?方法?中編寫以下代碼?:?

void?read_response()?
{??
??boolean?bodyStarted;??
??int?jsonStringLength;??
??int?jsonBufferCntr=0;??
??int?numline=RESPONSE_JSON_DATA_LINENNO;??
??//Ignore?the?response?except?for?the?10th?line??
??while?(client.available())???
??{??
????//Serial.println("Reading:");??
????char?c?=?client.read();????
????if?(c?==?'\n')??
????{??
??????numline?-=1;??
????}??
????else???
????{??
??????if?(numline?==?0?&&?(c!='[')&&?(c!=']')?)??
??????{??
????????buffer[jsonBufferCntr++]?=?c;???
????????buffer[jsonBufferCntr]?=?'\0';???
??????}??
????}??
??}??
??Serial.println("Received:");??
??Serial.println(buffer);??
??Serial.println("");??
??parse();??
}??

上面的代碼將讀取響應,解析方法負責解碼字符串。parse() 方法如下所示。在 parse() 方法本身中,我們將更改 PIN8 的狀態。

void?parse()??
{??
??StaticJsonBuffer<150>?jsonbuffer;??
??JsonObject&?root?=?jsonbuffer.parseObject(buffer);??
??if(!root.success())??
??{??
????Serial.println("PARSING?FAILED!!!");??
????return;??
??}??
??int?f=?root["status"];??
??Serial.println("Decoded:?");??
??Serial.println(f);??
??if(f==0)??
????digitalWrite(8,LOW);??
??else??
????digitalWrite(8,HIGH);??
}?

這里,在上面的代碼中,f存儲了status的屬性值。然后,我們檢查 f 的值并最終將 PIN 設置為 HIGH 或 LOW。

有關 ArduinoJson 庫的詳細文檔,請訪問此鏈接但是,這個庫有一點問題。稍后將討論。現在,我們將編寫剩余方法的代碼。??

現在,您將看到,當您編譯代碼時,您很可能會遇到一些錯誤。這些錯誤需要被刪除。在進一步移動之前,請查看此問題文件 WString.h 遺漏了一些代碼行。區別可以看這里您需要更新位于此處的文件。C:\Users\Username\AppData\Roaming\Arduino15\packages\Intel\hardware\i686\1.6.2+1.0\cores\arduino\WString.h??

更新后您的錯誤將得到解決。編譯代碼后,將其刻錄到您的 Edison 中,然后您就完成了。當代碼在您的 Edison 中燒毀時,取一個 LED,并將 LED 的較長腿連接到 PIN13,將較短的腿連接到 Gnd。較長的腿可以添加一個可選的 233 歐姆電阻器因此,我們通過 Windows Azure 控制的 Windows Phone 控制 Edison 已經準備就緒。?

下面附有一段視頻,顯示了它的功能,但 LED 連接到引腳 13。

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費