[博客園首發] 寫連載博客,歷時1410天出版書籍《物聯網軟體架構設計與實現》

来源:https://www.cnblogs.com/lsjwq/archive/2022/08/18/16597442.html
-Advertisement-
Play Games

2015年07月14日 22:33在博客園上發表第一篇博客,2017年09月09日23:07發表最後一篇博客,歷時788天,主要是想記錄一下思考和發展的過程。2020年12月04日簽訂出版協議,到最終出版《物聯網軟體架構設計與實現》(北京大學出版社),歷時622天。 ...


  購買鏈接京東購買  噹噹購買

  2015年07月14日 22:33在博客園上發表第一篇博客,2017年09月09日23:07發表最後一篇博客,歷時788天,主要是想記錄一下思考和發展的過程。2020年12月04日簽訂出版協議,到最終出版《物聯網軟體架構設計與實現》(北京大學出版社),歷時622天。

  2015年正式開闢兩條路徑,1.進入綠色農業領域,堅持將近兩年,最終果斷放棄;2.工業軟體框架重構,正式開啟工業軟體框架產品化的道路,一直到現在。

  工業軟體框架思想的起源應該可以追溯到2008年,非標的設備通過調製解調、串列介面、區域網絡、3G等方式集成到一個系統里,也有其他業務系統。當時有一點工作經驗的積累、也有一些想法、也有項目實施過程中待解決的問題、也有一定的技術儲備,有想法在實踐中驗證,同時也在實踐中迭代想法。例如在煤炭領域在集成項目的時候,有很多非的數據。解決一個設備的數據集成容易,解決很多設備的數據集成會涉及到一系列的問題。現在大家流行講框架,一個介面也叫框架,一堆介面也叫框架,但是有本質上的區別。追溯框架的起源,如下圖:

  框架發展到現在,比較大的重構代碼應該不下10次。主要滿足不同應用場景功能、性能的需求,例如當時還沒有雲的概念,一般只是部署在PC工控機上。後來,隨著雲端的發展,那肯定要支持跨平臺和高併發的應用場景。前後供職過3家公司,在實際的工作中也都應用了這個框架。

  《物聯網軟體架構設計與實現》書籍的出版也是隨著工作、隨著積累過程中經驗的總結。物聯網是一個比較廣泛的概念,不太容易找到著力點。

  本書介紹的物聯網框架不僅僅是一個通訊框架,是充分結合了項目經驗和應用場景,通訊機制包括:輪詢模式、自控模式和併發模式,能夠實現90%以上的物聯網項目的應用需求;支持插件化的設備驅動二次開發,繼承一個介面類可以實現串口和網路兩種通訊方式;支持設備驅動的命令優先調度,在物聯網通訊過程中實現命令高效下發;實現模板化的數據解析,解決受網路通訊過程影響的數據拆包和粘包的問題;實現多服務實例,解耦不同業務數據的通訊;從開發者的角度來看,本書介紹的物聯網框架還有很大的修改、擴展餘地;從二次開發者的角度來看,大幅提高了開發效率、降低了項目實施成本;從用戶應用的角度來看,運行穩定,降低了運維工作強度;經過多年的完善和迭代,集成了公司的所有設備和協議,包括項目實施過程中集成其他公司的設備協議,設備驅動的代碼就有20多萬行。在集成項目的數據採集及交互方面發揮了重要作用,提高了復用和開發效率,降低了時間成本和人力成本。

  本書從通訊的本質、解決現實問題、框架特點等作為切入點,整體介紹通訊框架的核心思念;在思想方面統一之後,進行框架的總體設計及介紹通訊機制;在整體框架的基礎上,抽象出來設備驅動的介面,同時涉及到驅動管理器、IO統一、驅動調度、控制器調度、服務介面設計和插件化設計等;在框架雛形完成之後,進行二次開發的設計,以便其他人員使用。

  本書適合有一定編程基礎的開發人員、系統集成項目實施人員、信息化系統框架設計人員、售前方案設計和撰寫人員、高校電腦相關專業及即將步入職場人員。書籍部分內容,如下圖:

  作者有10多年的煤炭、電力、環保、鋼鐵等工業領域開發和管理經驗;自主開發iNeuOS工業互聯網操作系統,根據工業項目經驗結合工業互聯網理論和技術體系實現的一套開箱即用的工業應用系統,iNeuOS融合了工業自動化控制系統、物聯網系統、工業互聯網系統的主要特點,從數據接入、數據介面、數據處理、數據建模、數據存儲、數據分析和數據應用等形成體系化、流程化的應用。滿足用戶的即接、即用、即分析、即顯示的工具應用需求,並且支持開放式的二次開發。參與工信部《面向特定行業信息物理系統測試驗證床建設》、《跨行業跨領域工業互聯網平臺》、《垂直領域工業互聯網平臺》、《基於工業互聯網的機理模型開發與推廣》、《基於工業互聯網平臺的工業設備上雲解決方案供應商》投標及平臺建設。iNeuOS系統如下圖:

  希望能夠繼續為中國工業領域做出貢獻,總體來說工業生產企業生產過程的信息化水平相對落後,存在數據彙集、數據應用、數據分析等問題,需要進一步進行數據標準化建模、有效的應用生產過程各環節的數據、結合生產工藝及經驗提煉行業工業知識、深度優化生產過程工藝的要求。

  將來的計劃是“兩個目標、一個公益、一個服務”:(1)中長期的目標是繼續走工業軟體產品化的道路和相容成為一位老師;(2)一個公益是為應屆畢業生提供免費的線上培訓,讓他們快速融入工作中,實現自己的價值,也算是為就業做出貢獻了;(3)一個服務是面向高校團購超過50本《物聯網軟體架構設計與實現》書籍,免費給高校本地部署及試用iNeuOS工業互聯網操作系統

  工業軟體的產品化道路需要耐的住、活的了,iNeuOS工業聯網聯操作系統已經發佈了27個版本,希望能夠迭代發展下去。如下圖:


物聯網&大數據技術 QQ群:54256083
物聯網&大數據項目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公眾號:iNeuOS

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • StoneDB 的整體架構分為三層,分別是應用層、服務層和存儲引擎層。應用層主要負責客戶端的連接管理和許可權驗證;服務層提供了 SQL 介面、查詢緩存、解析器、優化器、執行器等組件;Tianmu 引擎所在的存儲引擎層是 StoneDB 的核心,數據的組織和壓縮、以及基於知識網格的查詢優化均是在 Tia ...
  • 1.概述 說起垃圾收集(Garbage Collection, GC),大部分人都把這項技術當做Java語言的伴生產物。事實上,GC的歷史遠遠比Java久遠,1960年誕生於MIT的Lisp是第一門 真正使用記憶體動態分配和垃圾收集技術的語言。當Lisp還在胚胎時期時,人們就在思考 GC需要完成的三件 ...
  • 目錄 一.簡介 二.效果演示 三.源碼下載 四.猜你喜歡 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 基礎 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 轉場 零基礎 O ...
  • JAVA反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。 ...
  • 1. 運行時數據區域 Java虛擬機在執行Java程式的過程中會把它所管理的記憶體劃分為若幹個不同的數據 區域。這些區域都有各自的用途,以及創建和銷毀的時間,有的區域隨著虛擬機進程的 啟動而存在,有些區域則是依賴用戶線程的啟動和結束而建立和銷毀。根據《Java虛擬 機規範(第2版)》的規定,Java虛 ...
  • Java集合05 11.HashSet課堂練習 11.1課堂練習1 定義一個Employee類,該類包括:private成員屬性name,age 要求: 創建3個Employee對象放入HashSet中 當name和age的值相同時,認為是相同員工,不能添加到HashSet集合中 思路:不同對象的哈 ...
  • Spring5相關的知識點,IOC,AOP,DI依賴註入,Bean的自動裝配,使用註解開發,spring整合mybatis等於Spring相關的知識都在這裡了 ...
  • 使用 Django 編寫的 B/S 應用通常會使用 Cookie + Session 的方式來做身份驗證,用戶登錄信息存儲在後臺資料庫中,前端 Cookie 也會存儲少量用於身份核驗的數據,由後臺直接寫入。但是在開發調試階段,使用 Postman 等請求工具請求登錄時,可能會缺失前端本應存儲的數據,... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...