步驟1:壓縮1
這里有原始信號:
2,5,2,2,5,6,2,5, 2,3,5,5,2,6,2,5,2,3,5,5,2,6,1,6,2,108,2,6,1,3,5,5,2,6, 2,2,5,6,2,5,2,6,2,2,5,6,2,5,2,6,2,108,2,6,2,2,5,6,2,5, 2,3,5,6,1,6,2,6,1,3,5,6,1,6,2,6,2,108,2,6,2,2,5,6,2,5, 2,3,5,6,1,6,2,6,1,3,5,6,2,5,2,6,2,109,2,5,2,3,4,6,2,6, 2,2,5,6,2,6,1,6,2,2,5,6,2,6,2,5,2,109,2,6,2,2,5,6,2,5, 2,3,5,6,1,6,2,6,1,3,5,6,2,6,1,6,2,109,2,6,1,3,5,6,2,5, 2,3,5,6,1,6,2,6,1,3,5,6,2,6,1,6,2,109,2,6,2,2,5,6,2,5, 2,3,5,6,2,5,2,6,2,2,5,6,2,6,2,5,2,0
為了壓縮信號,首先我們將必須消除昏迷以發送信號,就好像它是由一個字符表示的狀態組成的一樣。通過這樣做,我們將必須刪除大量數字(108)。并將它們按順序放在標題中,以便稍后可以還原該過程。
108L108L108L109L109L109L109L
步驟2:壓縮2
如果您分析了一個威爾字信號,則表示我們將發現在整個信號中多次重復了相當數量的數字。因此,我們可以使用它來進行更多壓縮。我們將使用正則表達式輕松完成此操作。
此模式“(。+?)\ 1+”將找到幾組重復的序列,基本上,我們將必須找到最佳的序列,即最大的序列重復多次。我們將用單個字符替換該數字。請記住,我們必須發送單個字符,這一點很重要。
108L108L108L109L109L109L109L26225625R
步驟3:還原進程。
在此步驟中,我們將檢查是否可以安全地恢復壓縮。播種后,我們將必須讀取標題以獲得重復的序列和較大的數字。逐一讀取信號主體(與在arduino板上的方式相同),然后再次逐一替換必須替換的主體。如果找到一個L字符,則將我們擁有的大量數字放入大數序列中;如果找到一個R,則將重復的序列存儲在標頭中。
步驟4:競爭編譯代碼。
這是壓縮和解壓縮信號的完整Java代碼。在接下來的章節中,我將更深入地介紹如何在Arduino板上完成減壓任務。不要著急,我們還有很多工作要做。
您可以在這里運行它:在線運行Java
第5步:下一步是什么?
下一章將更加有趣。我們將學習如何通過USB將信息從您的計算機發送到Arduino開發板。一旦從計算機上控制了板子,就可以使用最便宜但功能強大的無線電收發器(例如NRF24L01)將信號發送到另一個arduino。或功能強大的HC-12無線電收發器,功能強大但價格不菲。經過測試,我可以將信息發送者分開發送兩個街區(街道)。他們值得一堂特別的課。在這里,您可以找到適合這些用戶的youtube簡介:Tom Heylen的h12。
OOOOr,甚至具有極其便宜的紅外接收器和發射器。它們的射程不大,但是由于您可以節省接收器中的錢,因此您可以嘗試購買紅外激光器以實現長距離發射。還沒有嘗試過。
并記住,如果您可以通過互聯網將計算機集中管理,則可以控制世界各地的房屋/建筑物/公司。更有趣的是,您可以使用計算機或電話已經擁有的所有工具。..例如語音識別系統。
責任編輯:wv
-
Arduino
+關注
關注
188文章
6477瀏覽量
187602
發布評論請先 登錄
相關推薦
評論