恕刪
回推文的 web 轉 iot 經驗
個人最近一年來參與一個 iot 應用專案, server 主要分兩部份
一部份是中間轉傳的 server 由裝置廠商處理,
將裝置回傳的 hex 訊息做轉換後傳送給應用的 server,
或者接收應用 server 要給裝置的指令再發送給裝置
另一部份是我處理的應用 server, 接收並記錄資料及實作各種應用,
這部份就有比較多較複雜的應用邏輯或各種報表等
以應用 server 來說其實也還是 web, 只是這個 web 有兩個部份,
一部份是處理對裝置的功能, 另一部份是處理給人用的功能,
只有極少部份中間轉傳 server 未實作的部份可能需要自己處理 hex code,
其它就一樣 http request api, socket 跟 websocket
要說有什麼比較特別的話主要是幾點
1. 資料量比較大
裝置會不斷的回傳各種資料訊息, 容易處理到運算量比較大的情形,
想加快速度用快取, 但記憶體也不夠快取全部的東西,
會需要稍微知道怎麼拿捏運算量跟記憶體用量的平衡
2. 即時性比較重要
開文章網頁載入慢頂多是開著等他載,
服務點下去幾十秒才有反應就比較不行了,
會需要能確保各功能基本的執行速度
3. 環節比較多, debug 比較複雜一些
比一般前後端網頁再多了幾個環節, 裝置某些數值也並不保證精確,
出問題時要排查的環節會比一般網站多個兩三倍,
適當的加一些基本測試會很有幫助
4. 成本比較高
網站放著沒人點就不花什麼, iot 裝置送資料存資料則都是開銷,
會需要能大概的估算各服務的用量及花費, 以及一些節省開支的做法
ex 用 DynamoDB 時記錄類的資料多筆合併壓縮後再存
大概是這樣, 大致跟 web 差不多, 只是再多注重一些細節
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.206.91 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1670697407.A.602.htmlneo52771樓請問有搭建queue的服務嗎 12/11 03:23
是指我們目前有沒有用 message queue 嗎? 如果是的話沒有,
因為目前都是要盡量即時處理, 比較可能量大會卡的就用 aws 的 lambda
searcher2樓iot要多了解一下device的部分啦,不然hex下去沒反應 12/11 10:01
→ searcher3樓要怎麼debug,討厭硬體的人會受不了 12/11 10:01
如果沒有轉傳那一層全都自己來的話是真的需要,
看裝置文件去 parse 幾 byte 到幾 byte 是什麼鬼還蠻花時間的
hobnob4樓感謝分享! 12/11 10:42
devilkool5樓研究設備回傳的資料真的最麻煩,商業邏輯很多是花在處 12/11 11:08
→ devilkool6樓理這塊,尤其一個案場有不同廠牌的同類型設備回傳同一 12/11 11:08
→ devilkool7樓種資料欄位但單位可能有些微差距時 12/11 11:08
真的, 這部份即使有轉傳那一層一樣不好處理, 因為不同廠商的轉過還是可能有差,
到應用這一層就很難拿捏要完全分離或有部份共用
viper97098樓推分享 12/11 18:01
→ peter989樓問就是AWS Lambda + SNS + SQS 我推薦你使用 這樣我才 12/11 20:18
→ peter9810樓有projects做 任何一個軟體工程師都應該使用Lambda服務 12/11 20:18
hegemon11樓曾經有個香港新創找了個印度佬當CTO,把所有的後端服務全 12/11 20:51
→ hegemon12樓部轉Lambda ,然後他就被董事會炒了 12/11 20:51
→ peter9813樓樓上的例子我知道! 但是你好像不知道後續 政治鬥爭後由 12/11 20:55
→ peter9814樓香港人上位成為CEO 堅持自己公司build這些服務 不使用 12/11 20:55
→ peter9815樓Lambda 後來這間公司倒了 董事會也不見了。 12/11 20:55
→ peter9816樓CTO* 12/11 20:56
→ peter9817樓要來唬爛一起來R 12/11 20:58
neo527718樓aws這麼好用喔,看來要了解一下 12/11 21:50
某部份不錯, 不過使用前要多看一下官方文件跟多查一些別人的心得或經驗,
不然容易踩雷
例如 DynamoDB 如果隨便網路上 copy 別人的範例來用,
那範例設定的用量又太大可能會莫明噴掉幾萬塊 (真實案例)
但適當的設置則可以用少少錢得到上限非常高的同時存取量
推薦可以一併研究 Cloudflare CDN 快取串 aws 相關服務, 它的費用比較親民,
免費帳號就可以有無上限的流量 (只是規則數很少才 3 個的樣子)
我們公司今年就靠 Cloudflare 用大約原本 70% 的費用撐原本十倍的用量
hegemon19樓某樓不要笑死,後來香港人上位了以後他們現在變獨角獸了 12/11 22:02
→ hegemon20樓到現在還活著,而且一直在IG上打廣告 12/11 22:02
hegemon21樓某peter真的不懂不要胡扯,這個印度佬後來想要到我這邊騙 12/11 22:07
→ hegemon22樓吃騙喝,給他錢叫他組一個小團隊做點side project 就嚇得 12/11 22:07
→ hegemon23樓自己跳船了 12/11 22:07
nitero24樓Amazon sidewalk? 12/12 00:06
→ hegemon25樓這些東西各家cloud provider 都有,只是AWS相對來說比較 12/13 09:27
→ hegemon26樓成熟穩定. 但是金融相關的用Azure 比較適合,因為他們自 12/13 09:27
→ hegemon27樓己拿到許多規範的認證,用了公司自己就不用再跑一次 12/13 09:27
感謝提供 :D
之前有想過可能要找顧問弄個 PCI-DSS 把服務部份相關資案認證搞好,
不過沒想過裝置本身也要認證
eggeggss28樓重要的是domain knowhow啦,IT領域已經朝向外包風了 12/15 11:07
→ drake9929樓很多工廠做IOT不上雲的 12/17 00:58
不用感覺更硬,也需要更穩定的工程團隊
我們前陣子就在選擇要用自架 Mongo 或用 DynamoDB
後來決定用 DynamoDB,因為它比較不用維運基礎,
設定完就剩寫扣而已