OCPP1.6

想必特意看這篇文章的你肯定是和現在的我做一樣的工作。這個玩意我已經玩了3個月,從一開始的的 Core 功能到最後的Smart Charging 都實現了。

還是一貫的風格,只提點思路:

  • 首先自己要實現Websocket通信協議,這個實現起來非常 easy 。
  • 自己編寫 UUID 函數。
  • 需要用到 cJSON 庫,還有動態 malloc 分配函數。
  • 裏面有很多操作離不開隊列。
  • 最後要做的事情就是一堆的字符串解析。
  • 對於發的時候 UUID 和接收時候 UUID怎麼匹配這個也不是很難實現。
  • 剩餘的事情就是槍的狀態上傳,充電時候上報電能表值。。。
  • 結束交易這樣的信息要先存flash裏,發送成功才能清除。

關於Smart Charging

  • 首先描述出 Profile 的數據結構。
  • 編寫一個模擬數據庫,實現不定長的記錄增刪改查功能,主鍵就選 chargingProfileId 即可。
  • 根據 ChargingProfilePurposeType 新建多個鏈表頭,同類型的掛在一起。
  • 由於 ChargingSchedulePeriod 是個變長的,處理的時候儘量不要用二級指針,否則存儲和恢復會很困難喔~
  • 存儲的時候要考慮 chargingProfileId 和 stackLevel 是否有衝突。
  • 時間戳處理下再存儲進去,別真的照存哈。
  • Profile 配置文件裏很多字段都可以爲空,仔細閱讀爲空表示啥意思。

下面給出 2 個配置文件 demo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章