ESP8266 測試記錄(九) 使用微波感應模組偵測物體移動

PIR 是針對紅外線做感知偵測,通常發熱體都會散發出紅外線,因此運用在入侵偵測應該是可以的。如果天氣寒冷又加上歹徒穿得夠厚或是能阻發紅外線的時候,PIR 是不是就會失去作用呢?這個疑問還不太知道,至少要先買個紅外線攝影機來測試才能確定。替代的方案可以利用超聲波距離偵測模組或是微波雷達偵測模組。

準備的工具:

  1. LED 燈 1 個
  2. 電阻 1 個
  3. 跳線 數條
  4. 麵包板 1 個
  5. ESP8266 測試架 1 個
  6. ESP8266 12F 1 個(沒測試架時, 就直接從焊接引線)
  7. RCWL-0516 微波模組 1 個
  8. 光敏感電阻 1 個
  9. USB 連接線

» Read more

[MoonSharp] 將 Table 內容顯示到檔案內

陽春的寫法,簡單的表格運作 OK,複雜一點的表格會醜醜的 ~

[MoonSharp] 使用檔案系統作日誌 Log

轉換到 MoonSharp 後發現,原本可以在 Lua 中運作的 io module,變得不太正常。

EX:

以上兩種開啟檔案的作法都失去作用, fp 都會收到 nil。目前測試出來只知道 “w”, “r” 是可以運作的模式。fp 會是 userdata type。

只好把檔案日誌功能重新寫

 

[MoonSharp] Lua for C#

工作上的專案使用 Lua 已經有一段時間,也累積了不少腳本 (Script)。剛開始撰寫程式的環境是 BCB5,可以直接將 Lua 調用 (因為都是 C/C++ 的程式);隨著 BCB5 將被 C# 淘汰,就只能找看看有沒有合適的解決方案。

很幸運的有人開發 LuaInterface,將它編譯成 DLL 之後,就能與 C# 做好運用,原本寫的程式不需要做太大的變動。但在 2013 年的時候, LuaInterface 的作者已經不再維護此專案,改成立 NLua 專案。為了能配合 Lua 5.2 版本,也跟著變換專案到 NLua。

NLua 是基於 KopiLua 開發而成的 DLL。閱讀了一下 KopiLua,似乎是作者把 Lua 改寫成 C# 版本。在 NLua 推出 1.3.0 時,已經有支援 UTF8 的格式;嘗試過很多寫法,總是無法讓中文字呈現。於是放棄了 NLua 專案。

Lua with C# 有很多專案,如:LuaInterface、NLua、uniLua、uLua、sLua、MoonSharp、DynamicLua … 等等。找了很久之後,打算這次套用 MoonSharp 專案看看。

» Read more

[方案二] 利用 Visual Studio 來編譯 Lua

Lua 的源始碼 (Source Code) 是以 C++ 來發展,官網上教的是以 Linux 為基礎的編譯、安裝方式。在 Microsoft Windows 平台都是大家研究出來的心得。在這裡也做個記錄,日後遇上更新版本,好能回憶怎麼重新製作 lua*.exe, lua*.dll

系統環境

Visual Studio 版本:2012

 

作業系統版本:Microsoft Windows 7 64bits

 

Lua 版本:5.3.2

» Read more

儀器連線架構 with C#

自從接手儀器設備連線程式維護以,連線系統存在著許多的問題:

  1. 網路斷線 –> 造成連線程式當掉
  2. 資料庫主機重開 –> 造成連線程式當掉
  3. 系統日誌是以 Access 製作,但有 2GB 的限制,超過的時候,也會讓連線程式當掉
  4. 每新增一台新的連線程式,VS 的專案就得複製一份;程式碼有 90% 都是相同的。維護上不是很方便。
  5. 設定檔使用舊有的 Key = Value 的方式,不是很好維護,也很容易忘記某個 Key 是什麼意涵

» Read more

1 2