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

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

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

3天內不再提示

iPhone和Arduino車庫門開啟器的制作圖解

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-12 16:42 ? 次閱讀

步驟1:您需要的內容

我用于該項目的材料是:

以太網屏蔽的Arduino UNO :我的是用于Arduino的Vilros以太網R3,但是以太盾或等效設備應該沒問題

一個備用的Linksys路由器 :我用DD-WRT刷新了固件(自此以后,我將不介紹該步驟在線上有許多有關如何執行此操作的教程)用作WiFi中繼器橋。在Craigslist上找到一個。它們非常便宜

iPhone :我的是7顆

LED,330歐姆電阻器,面包板,跨接電纜 :用于調試

5V繼電器 :我從這里訂購了我的產品。從中國到達大約需要兩個星期。但是它們足夠便宜,因此訂購一堆

3D打印盒(可選) :存放電子設備

Xcode的副本 (Apple應用程序開發軟件)

第2步:設置調試硬件

首先,讓我們設置用于調試目的的硬件。我將Arduino和以太網屏蔽以及面包板臨時安裝在一個小平臺上。如圖所示,我插入了LED和電阻。如果您需要有關如何將LED連接到Arduino的更多詳細信息,本教程可能會有所幫助。但是這些教程的數量與彩虹的顏色一樣多,因此請選擇您喜歡的。最后,我將Arduino的以太網端口連接到路由器,然后通過USB電纜將Arduino插入筆記本電腦。就是這樣。

步驟3:編寫Arduino代碼

下一步是確定Arduino將如何執行我想要它做什么。最初,當用戶的iPhone首次連接到LAN時,Arduino應該傳達門的當前狀態。然后,Arduino會從用戶的iPhone接收命令來打開/關閉門,并更新Arduino代碼中的變量來跟蹤門的狀態。

我認為最好的方法是傳遞JSON(Java腳本對象表示法)消息。我喜歡它們,因為它們具有鍵值結構以及標頭信息。事實證明,如果您下載ArduinoJSON庫,則Arduino可以支持此功能。他們有許多有關如何與該庫進行交互的示例。您需要密切注意幾個使用這些類的示例:

EthernetServer

EthernetClient

DynamicsJsonBuffer

或者您可以看一下我的代碼以了解如何使用這些類中的函數。

loop()

p》

我也盡可能地在interwebz上尋找示例代碼。一個半相關的應用程序是用于Arduino和iPhone的溫度傳感器應用程序。這是一個非常完整的示例,其中包含很多很好的解釋和可下載的代碼。

好,所以接下來讓我傷腦筋的是我將Arduino用作 server 還是 client 。似乎當用戶最初連接時Arduino應該是服務器,因為它正在為iPhone的初始門狀態提供服務。另外,當Arduino從iPhone接收命令時,我認為它應該是客戶端,因為它被動地接收數據。

事實證明,在兩種情況下,使Arduino成為服務器都是可行的。代碼的本質分解方式在主要的Arduino

SendAndReceiveJSONData()

調用中,我定義了一個名為

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

的函數,該函數使Arduino成為服務器它會監聽所有客戶。如果找到一個,它將忽略客戶端的JSON頭信息(不重要),并嘗試解析數據。如果它找到可以解析的數據,則我們知道iPhone已向我們發送了有關門的狀態信息,Arduino會相應地更新這些變量。另一方面,如果我們找不到要解析的數據,那么我們知道這是用戶第一次連接(因此他不可能向我們發送有關門的任何信息),并且向他發送了一條JSON消息,通知他的門的當前狀態是什么。

如果我上面說的話似乎令人困惑,請告訴我,但您也可以在我的倉庫中查看代碼。

步驟4:在編寫iPhone代碼之前免責聲明

Apple 。..哦,Apple。 [提示重嘆] 。我曾經愛過蘋果。但是這個小雜物與這個討論無關。

Swift是用于在iPhone上設計應用程序的最新語言。伙計們,我真的不在乎。潮流似乎在改變,說實話,我什至不知道我在Xcode上安裝了哪個版本。此外,在查找示例/教程時,由于語言的更改速度很快,因此并非所有內容都相關。

現在,如果這還不夠糟糕,(我保證這會發生的話),我在編譯后發現了/構建我的XCode項目,使其不會在我的iPhone上加載。原因是因為我的機器很舊(2010年的MacBook Pro),所以我擁有的最高操作系統是10.11.6(El Capitan)。本質上,這意味著我無法在支持iPhone中最新iOS(11.1或11.2)的計算機上安裝最新的Xcode。該錯誤通過說出諸如“無法找到設備支持文件”之類的東西來體現。

事實證明,如果您遇到相同的問題,則可以通過修復來解決問題。將錯誤輸入Google會導致大量類似的解決方案。這是一個。結果是您需要下載最新版本的Xcode(這很重要,因此它不會自動安裝并隨后失敗),然后導航到:

PerformRestCall()

并復制所有這些您當前的Xcode版本沒有相同目錄的目錄。之后,重新啟動Xcode,并嘗試編譯等,它應該可以正常工作。

步驟5:編寫iPhone代碼

在控制版本問題的情況下,我不得不拼湊一些資源來編寫應用程序,我不想花一個月學習Swift。話雖如此,我確實發現與Chris一起合作的Code是非常好的資源和時間投入。他的教程特別出色,因為它向您展示了如何實現觸摸屏功能以及 Main.Storyboard 與實際代碼之間的交互。特別是在最近的一些教程中。因此,我真的鼓勵您在開始使用Xcoding之前先觀看它們。另外,我和其他人一樣,尋找相似的Swift實例,并嘗試向他們學習。我不是Swift專家,但我找到了我需要的東西。

該應用的背后想法是設計自定義的 Open 和 Close 觸摸按鈕您擁有的任何繪畫應用程序都可以按預期運行。當應用首次啟動時,它會使用一個名為

handleResultsOfWebCall()

的函數,該函數隨后會調用:

leftOpenImageTapped()

leftClosedImageTapped()

rightOpenImageTapped()

rightClosedImageTapped()

,該函數實際上是繁重的工作并解析來自Arduino的初始JSON數據描述了門的當前狀態。

我使用的其他功能是:

CreateJSONMessage()

,它們在被調用時會更新門的當前狀態。門,然后調用函數:

實際創建要發送到Arduino的必要JSON。

有關更多詳細信息,您可以在此處看到該項目的代碼,由于我試圖對其進行合理地注釋,因此該代碼應進行更多說明。老實說,我有點把它砍在一起,以使其能夠完成我想要的工作。

在編寫代碼之后,我將其上傳到iPhone并開始調試。

第6步:調試

編寫我的代碼并將其上傳到Arduino和iPhone上,就該進行調試了。由于我還沒有將所有東西連接到車庫,因此我想以某種方式模仿它的行為。提示LED。

我拿起了兩個紅色和兩個綠色LED的鉤子,如上圖所示。一組綠色和紅色代表左門,其余代表右門。如果任一扇門關閉,則綠燈將不停閃爍。否則,如果任何門打開,則紅燈將閃爍。我選擇了要關閉的門的初始狀態(綠色閃爍的燈),因為當我第一次將Arduino連接到開門器時,我將確保門已關閉。

看看它如何可以,您可以觀看正在播放的簡短視頻(糟糕透頂-對不起!)。瞧!到目前為止可以正常工作!

步驟7:連接

自從維修了3D打印機以來,我還沒有機會打印箱子。我以此為基礎的先前說明,具有可供下載的.stl文件。(注意:如果您打算使用.stl文件,則單位以厘米為單位,與作者相對應。我不得不縮放我的.stl文件的大小是原來的10倍,因為我的打印機以毫米為單位工作。我必須修改設計,因為我有兩個門,因此需要兩個繼電器。但是由于我渴望將所有東西都連接起來,所以我開始將電子設備安裝在我躺在的一塊廢舊木頭上。因此,我不會在這種指導中展示絕對的成品。

一旦將電子設備安裝到我擁有的木頭上,在其上找到臨時住所就很簡單了。壁。在圖片中,您可以看到從路由器到Arduino,從Arduino到繼電器,再到繼電器到車庫門按鈕的電線。當我彈出實際按鈕并從墻上擰下外殼時,只有兩個接線端子。因此,就像我以前作為基礎的指導一樣,您可以按任意順序將繼電器的電線鉤到門按鈕上的端子上。

在此之后,整個設置第一次神奇地起作用了!抱歉,不發布視頻。我必須暫時將其取下來,然后才能捕獲它的視頻,但我發誓確實如此!

步驟8:最終想法

之后玩了一點,我確實注意到了一些問題,我將在下面提到。這些是很重要的,因此在決定重復該項目之前,請先考慮它們。

按下iPhone上的按鈕與讓車庫門響應之間存在一些不一致的延遲。

一個大問題:將應用程序加載到iPhone應用程序后,我注意到幾天后我試圖打開該應用程序。應用程序,它只會返回主屏幕。這是一致的行為。掙扎了一段時間之后,我終于崩潰了,并在stackoverflow上發布了問題。一個人的答案似乎是正確的:邪惡的帝國使Apple決定,如果您不是開發人員,那么您從Xcode獲得的信任證書對您剛開發的應用程序僅有效1周。之后,除非您重新安裝它(并重置1周的倒計時),否則您將無法在iPhone上使用它,或者需要為更長的證書支付99美元的費用。我發現這完全令人沮喪。就像我浪費時間一樣。但是,如果您是開發人員,那么這對您來說就不是問題了。。

我想到的一個想法是,如果有人手動按下車庫門按鈕,則不會捕獲此事件在Arduino代碼中因此,就Arduino而言,在按下按鈕之前,門的狀態保持不變。此外,如果有人站在門底下,而另一個人正在使用該應用程序將其關閉。門傳感器將迫使門再次返回,并且此事件也未在Arduino代碼中捕獲。不用說,這是要弄清楚的另一點。

責任編輯:wv

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

    關注

    28

    文章

    13498

    瀏覽量

    204822
  • Arduino
    +關注

    關注

    188

    文章

    6490

    瀏覽量

    190074
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    免費分享Arduino入門+進階(全套例程+書籍)

    Arduino是一款開源電子原型平臺,由硬件(單片機開發板)和軟件(編程環境)組成,旨在讓非專業用戶也能輕松入門電子制作和編程。它的核心思想是簡化硬件開發,通過直觀的編程和模塊化設計,讓用戶快速實現
    的頭像 發表于 05-22 11:40 ?79次閱讀
    免費分享<b class='flag-5'>Arduino</b>入門+進階(全套例程+書籍)

    漫畫圖解 電感 抗干擾元器件指南(全彩PDF版)

    漫畫圖解電感基礎知識(高清PDF) 內容:很形象的漫畫和語言圖解關于電感的入門基礎知識,讓電子初學者也能輕松的看懂電子電路。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內容有幫助可以關注、點贊、評論支持一下
    發表于 05-13 15:49

    《ESP32S3 Arduino開發指南》第二章 Arduino基礎知識

    的發展,在Arduino出現以前,雖然也有很多公司在推廣一些簡單易用的可編程控制,但是由于開發平臺種類繁多,而且使用這些控制基本上都需要對電子技術、數字邏輯、寄存等內容進行多方面
    發表于 05-13 09:28

    PCB封裝圖解

    PCB封裝圖解——詳細介紹了各種封裝的具體參數,并介紹了如何進行封裝制作 純分享貼,有需要可以直接下載附件獲取文檔! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 04-22 13:44

    地下車庫一氧化碳監測及風機控制系統方案

    近年來,在大型建筑地下建設車庫已成為房地產項目的標配,能夠合理利用空間,有效解決汽車停放問題。但同時也帶來其他問題。 由于地下車庫屬于密閉下沉空間,車輛進出頻繁,且缺乏空氣對流的條件,導致所排放
    的頭像 發表于 01-08 17:21 ?471次閱讀
    地下<b class='flag-5'>車庫</b>一氧化碳監測及風機控制系統方案

    地下車庫CO監測告警與風機遠程控制IoT解決方案

    起來就會危害人體健康。因此,加強地下車庫CO監測與風機管控,對保障車庫內的空氣質量和人員安全具有重要意義。 對此,通過傳感數據采集技術、物聯網通信技術和遠程控制算法,數之能提供地下車庫
    的頭像 發表于 01-08 17:17 ?255次閱讀

    地下車庫智能照明方案

    隨著城市化進程的加速,地下車庫作為現代建筑中不可或缺的一部分,其設計與使用效率日益受到重視。在眾多改進方向中,智能照明方案以其節能、高效、便捷的特性,成為提升地下車庫使用體驗的關鍵一環。 一
    的頭像 發表于 12-17 16:15 ?508次閱讀

    智能地下車庫照明系統

    ,通過傳感、物聯網通信、智能控制等技術,對車庫內照明設備的精準控制。按需照明,根據車庫內實際光線需求、車輛及人員活動情況自動調節照明亮度,既保證了行車與行人安全,又避免能源浪費,提升用戶體驗的同時,減少對
    的頭像 發表于 12-10 16:21 ?537次閱讀

    車庫智能燈光控制系統架構與功能優勢

    在科技日新月異的今天,智能家居的概念已經逐漸深入人心,車庫作為一個相對封閉且隱秘的空間,其照明需求往往不同于家庭其他區域。傳統的照明方式不僅無法滿足車主的多樣化需求,存在安全隱患和能源浪費
    的頭像 發表于 12-09 16:40 ?477次閱讀

    基于Arduino的串口通信項目

    Arduino Mega等。 USB數據線 :用于將Arduino開發板連接到計算機。 串口設備 :可以是另一個Arduino開發板、傳感模塊、執行
    的頭像 發表于 11-22 09:24 ?1935次閱讀

    淺談地下車庫電動汽車火災施救策略與研究

    摘要 :地下車庫作為城市建設中不可或缺的重要設施,承載著大量車輛和人員。當前,新能源電動汽車持續發展,逐漸成為主流,同時新能源電動汽車火災事故的發生給地下車庫安全管理帶來了新的挑戰。為有效防范和撲救
    的頭像 發表于 10-15 16:53 ?802次閱讀
    淺談地下<b class='flag-5'>車庫</b>電動汽車火災施救策略與研究

    霍爾磁柵式閘門開度位移傳感

    霍爾磁柵式閘門開度位移傳感是閘門開度儀系列產品之一,磁柵式位移傳感為外置式安裝,該傳感主要由霍爾傳感
    的頭像 發表于 09-10 15:39 ?729次閱讀
    霍爾磁柵式閘<b class='flag-5'>門開</b>度位移傳感<b class='flag-5'>器</b>

    Iphone4上運行UDP接收,數據包丟失怎么解決?

    Iphone4 上運行 UDP 接收,請注意非常大的數據包丟失。其他設備(包括 Ipad)的數據包丟失率要低得多。 使用另一個對等體(同時)與 ESP 模塊并運行數據包嗅探,我發現 1 米處的 PC
    發表于 07-18 06:56

    霍爾原理閘門開度儀介紹及注意事項

    門開度(霍爾磁柵)位移傳感為外置式安裝,該傳感主要由霍爾傳感、測量桿構成。霍爾傳感長1300mm,配有導向套管,電纜由后部引出,導
    的頭像 發表于 07-01 13:31 ?608次閱讀
    霍爾原理閘<b class='flag-5'>門開</b>度儀介紹及注意事項

    使用ESP32 A2DP藍牙音頻制作了藍牙音箱,手機來電話時通話也走ESP32,如何接電話時自動切換到iphone

    使用ESP32 A2DP藍牙音頻制作了藍牙音箱,但是手機來電話時,通話也走ESP32, 如何接電話時自動切換到iphone
    發表于 06-14 06:58