driver-box

command module
v2.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 29, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

README ยถ

driver-box

Go Version License Documentation Ask DeepWiki

ไธ€ๆฌพๆ”ฏๆŒๆณ›ๅŒ–ๅ่ฎฎๆŽฅๅ…ฅ็š„่ฝป้‡็บง่พน็ผ˜็ฝ‘ๅ…ณๆก†ๆžถ๏ผŒ้€š่ฟ‡ๆ’ไปถๅŒ–ๅ’ŒLua่„šๆœฌๅฎž็Žฐ็ตๆดป็š„่ฎพๅค‡ๆŽฅๅ…ฅ่ƒฝๅŠ›ใ€‚

ๅฟซ้€Ÿๅผ€ๅง‹ ยท ๆ ธๅฟƒ็‰นๆ€ง ยท ๆžถๆž„่ฎพ่ฎก ยท ไบŒๆฌกๅผ€ๅ‘ ยท APIๆ–‡ๆกฃ


๐Ÿ“– ็ฎ€ไป‹

driver-box ๆ˜ฏไธ€ๆฌพไธ“ไธบ็‰ฉ่”็ฝ‘ๅœบๆ™ฏ่ฎพ่ฎก็š„่พน็ผ˜็ฝ‘ๅ…ณๆก†ๆžถ๏ผŒ้‡‡็”จๆ’ไปถๅŒ–ๆžถๆž„่žๅˆไบ† Modbusใ€BACnetใ€HTTPใ€MQTTใ€WebSocket ็ญ‰ไธปๆตๅทฅไธšๅ่ฎฎ๏ผŒๅŒๆ—ถๆ”ฏๆŒๅŸบไบŽ TCP ็š„ๅ„็ฑป็งๆœ‰ๅ่ฎฎ็š„ๆ— ็ผๅฏนๆŽฅใ€‚

่ฎพ่ฎก็†ๅฟต

้€š่ฟ‡ๅฏนๅ„็ฑป่ฎพๅค‡็š„้€šไฟกๅ่ฎฎๅ’Œๆ•ฐๆฎไบคไบ’ๅฝขๅผ่ฟ›่กŒๆŠฝ่ฑก๏ผŒๅฎšไน‰ไบ†ไธ€ๅฅ—ๆ ‡ๅ‡†ๅŒ–็š„่ฎพๅค‡ๆŽฅๅ…ฅๆต็จ‹๏ผŒๆถต็›–ๅ„็ฑป้€šไฟกๅ่ฎฎ็š„ๅ…ฑๆ€ง้€ป่พ‘ใ€‚ๅŒๆ—ถ๏ผŒ็ป“ๅˆๅŠจๆ€ Lua ่„šๆœฌๅผ•ๆ“Žๅกซ่กฅๅ่ฎฎๅทฎๅผ‚ๅŒ–็š„้ƒจๅˆ†๏ผŒๅฎž็Žฐไบ†๏ผš

  • โœ… ่งฃๅ†ณ้ฉฑๅŠจๅทฅ็จ‹ๆ•ฐ้‡็ˆ†็‚ธ้—ฎ้ข˜ - ้€š่ฟ‡้…็ฝฎๅŒ–ๅ’Œ่„šๆœฌๅŒ–ๅคงๅน…ๅ‡ๅฐ‘้‡ๅคๅผ€ๅ‘
  • โœ… ็ปŸไธ€ๆŽฅๅ…ฅๆ ‡ๅ‡† - ๅปบ็ซ‹่ง„่ŒƒๅŒ–็š„่ฎพๅค‡ๆŽฅๅ…ฅๆต็จ‹
  • โœ… ้™ไฝŽๆŠ€ๆœฏ้—จๆง› - ็†ๆƒณๆƒ…ๅ†ตไธ‹ไป…้œ€็ผ–ๅ†™ JSON ้…็ฝฎๆ–‡ไปถๅณๅฏๅฎŒๆˆ่ฎพๅค‡ๆŽฅๅ…ฅ
  • โœ… ็ตๆดปๆ‰ฉๅฑ•่ƒฝๅŠ› - ๆ”ฏๆŒ่‡ชๅฎšไน‰ๆ’ไปถๅ’Œ Lua ่„šๆœฌๅบ”ๅฏนๅคๆ‚ๅœบๆ™ฏ

ๆˆ‘ไปฌๆœŸๆœ› driver-box ่ƒฝๅคŸไธบ IoT ๅผ€ๅ‘่€…ๆไพ›ๆ›ดๅŠ ้ซ˜ๆ•ˆใ€่ˆ’้€‚็š„่ฎพๅค‡ๆŽฅๅ…ฅไฝ“้ชŒใ€‚


๐Ÿš€ ๆ ธๅฟƒ็‰นๆ€ง

๐Ÿ’Ž ่ฝป้‡้ซ˜ๆ•ˆ
  • ๆž็ฎ€ๆžถๆž„๏ผšGo ่ฏญ่จ€ๅผ€ๅ‘๏ผŒๅ•ๆ–‡ไปถ็ผ–่ฏ‘๏ผŒไฝ“็งฏๆŽงๅˆถๅœจ 10-20MB
  • ไฝŽ่ต„ๆบๅ ็”จ๏ผš่ฟ่กŒๅ†…ๅญ˜้œ€ๆฑ‚ไฝŽ๏ผŒๆปก่ถณไฝŽ่ง„ๆ ผ่พน็ผ˜็ฝ‘ๅ…ณ็š„่ฟ่กŒ่ฆๆฑ‚
  • ่ทจๅนณๅฐๆ”ฏๆŒ๏ผšๆ”ฏๆŒ amd64ใ€arm64ใ€armv7ใ€x86 ็ญ‰ๅคš็ง็ณป็ปŸๆžถๆž„
  • ้ซ˜ๆ€ง่ƒฝๅนถๅ‘๏ผšๅŸบไบŽ Go ๅ็จ‹ๅฎž็Žฐ้ซ˜ๆ•ˆ็š„ๅนถๅ‘ๆ•ฐๆฎๅค„็†
๐Ÿ”Œ ๆ’ไปถๅŒ–ๆžถๆž„
  • ๅ่ฎฎๆ’ไปถ๏ผšๅ†…็ฝฎ Modbusใ€BACnetใ€HTTPใ€MQTTใ€WebSocket ็ญ‰ไธปๆตๅ่ฎฎๆ”ฏๆŒ
  • ๆ•ฐๆฎๅฏผๅ‡บ๏ผšๆ”ฏๆŒๅคš็งๆ•ฐๆฎๅฏผๅ‡บๆ–นๅผ๏ผˆMQTTใ€HTTPใ€LinkEdge ็ญ‰๏ผ‰
  • ็ƒญๆ’ๆ‹”๏ผšๆ”ฏๆŒๆ’ไปถๅŠจๆ€ๅŠ ่ฝฝใ€ๅธ่ฝฝๅ’Œ้…็ฝฎ็ƒญ้‡่ฝฝ
  • ๆ— ้™ๆ‰ฉๅฑ•๏ผšๅผ€ๆ”พๆ’ไปถๆŽฅๅฃ๏ผŒๅผ€ๅ‘่€…ๅฏ่ฝปๆพๆ‰ฉๅฑ•ๅ่ฎฎๅ’ŒๅŠŸ่ƒฝ
๐Ÿ“œ Lua ่„šๆœฌๅผ•ๆ“Ž
  • ๅŠจๆ€่งฃๆž๏ผš้€š่ฟ‡ Lua ่„šๆœฌๅฎž็Žฐๅคๆ‚ๅ่ฎฎ็š„ๆ•ฐๆฎ่งฃๆžๅ’Œๅค„็†
  • ไธšๅŠก้€ป่พ‘๏ผšๆ”ฏๆŒๅœจ่„šๆœฌไธญ็ผ–ๅ†™่ฎพๅค‡็‰นๅฎš็š„ไธšๅŠก้€ป่พ‘
  • ๅ†…็ฝฎๅบ“ๆ”ฏๆŒ๏ผšๆไพ›ไธฐๅฏŒ็š„ๅ†…็ฝฎ Lua ๅบ“๏ผˆHTTPใ€JSONใ€ๆ•ฐๅญฆ่ฎก็ฎ—็ญ‰๏ผ‰
  • ็ƒญๆ›ดๆ–ฐ๏ผšๆ”ฏๆŒ่ฟ่กŒๆ—ถๆ›ดๆ–ฐ่„šๆœฌ๏ผŒๆ— ้œ€้‡ๅฏๆœๅŠก

๐Ÿ—๏ธ ๆžถๆž„่ฎพ่ฎก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        Export Layer                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚ LinkEdge โ”‚ โ”‚   MQTT   โ”‚ โ”‚ Gateway  โ”‚ โ”‚ History/Discover โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        driver-box Core                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚  Cache   โ”‚ โ”‚  Shadow  โ”‚ โ”‚  Event   โ”‚ โ”‚   Crontab        โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       Library Layer                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚  Driver Scripts (Lua) + Protocol Scripts (Lua)       โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      Plugin Layer                           โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚  Modbus  โ”‚ โ”‚  BACnet  โ”‚ โ”‚   MQTT   โ”‚ โ”‚ HTTP/WebSocket   โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
็›ฎๅฝ•็ป“ๆž„
driver-box/
โ”œโ”€โ”€ driverbox/          # ๆ ธๅฟƒๆก†ๆžถ
โ”‚   โ”œโ”€โ”€ driverbox.go    # ไธปๅ…ฅๅฃ
โ”‚   โ”œโ”€โ”€ plugin.go       # ๆ’ไปถ็ฎก็†
โ”‚   โ”œโ”€โ”€ export.go       # ๅฏผๅ‡บ็ฎก็†
โ”‚   โ”œโ”€โ”€ shadow.go       # ่ฎพๅค‡ๅฝฑๅญ
โ”‚   โ””โ”€โ”€ crontab.go      # ๅฎšๆ—ถไปปๅŠก
โ”œโ”€โ”€ plugins/            # ๅ†…็ฝฎๅ่ฎฎๆ’ไปถ
โ”‚   โ”œโ”€โ”€ modbus/         # Modbus ๅ่ฎฎ
โ”‚   โ”œโ”€โ”€ bacnet/         # BACnet ๅ่ฎฎ
โ”‚   โ”œโ”€โ”€ mqtt/           # MQTT ๅ่ฎฎ
โ”‚   โ”œโ”€โ”€ httpclient/     # HTTP ๅฎขๆˆท็ซฏ
โ”‚   โ”œโ”€โ”€ httpserver/     # HTTP ๆœๅŠก็ซฏ
โ”‚   โ”œโ”€โ”€ tcpserver/      # TCP ๆœๅŠก็ซฏ
โ”‚   โ”œโ”€โ”€ websocket/      # WebSocket ๅ่ฎฎ
โ”‚   โ””โ”€โ”€ dlt645/         # DLT645 ๅ่ฎฎ
โ”œโ”€โ”€ exports/            # ๆ•ฐๆฎๅฏผๅ‡บๆ’ไปถ
โ”‚   โ”œโ”€โ”€ linkedge/       # ๅœบๆ™ฏ่”ๅŠจ
โ”‚   โ”œโ”€โ”€ mirror/         # ้•œๅƒ่ฎพๅค‡ๆœๅŠก
โ”‚   โ”œโ”€โ”€ discover/       # ่ฎพๅค‡่‡ชๅŠจๅ‘็Žฐ
โ”‚   โ””โ”€โ”€ gateway/        # ๅˆ†ๅธƒๅผ็ฝ‘ๅ…ณ
โ”œโ”€โ”€ internal/           # ๅ†…้ƒจๅฎž็Žฐ
โ”‚   โ”œโ”€โ”€ core/           # ๆ ธๅฟƒ้€ป่พ‘
โ”‚   โ”œโ”€โ”€ cache/          # ็ผ“ๅญ˜็ฎก็†
โ”‚   โ”œโ”€โ”€ export/         # ๅ†…็ฝฎExport
โ”‚   โ””โ”€โ”€ shadow/         # ๅฝฑๅญๆœๅŠก
โ”œโ”€โ”€ pkg/                # ๅ…ฌๅ…ฑๅŒ…
โ”‚   โ”œโ”€โ”€ config/         # ้…็ฝฎ็ฎก็†
โ”‚   โ”œโ”€โ”€ event/          # ๅนณๅฐไบ‹ไปถๅฎšไน‰
โ”‚   โ”œโ”€โ”€ library/        # ่ต„ๆบๅบ“
โ”‚   โ””โ”€โ”€ crontab/        # ๅฎšๆ—ถไปปๅŠก
โ”œโ”€โ”€ res/                # ่ต„ๆบ็›ฎๅฝ•๏ผˆ่ฟ่กŒๆ—ถ๏ผ‰
โ”‚   โ”œโ”€โ”€ library/
โ”‚   โ”‚   โ”œโ”€โ”€ driver/     # ่ฎพๅค‡้ฉฑๅŠจ่„šๆœฌ
โ”‚   โ”‚   โ”œโ”€โ”€ protocol/   # ๅ่ฎฎ่งฃๆž่„šๆœฌ
โ”‚   โ”‚   โ””โ”€โ”€ model/      # ็‰ฉๆจกๅž‹ๅฎšไน‰
โ”‚   โ”œโ”€โ”€ computing/      # ่ฎก็ฎ—ไปปๅŠก
โ”‚   โ””โ”€โ”€ history_data/   # ๅކๅฒๆ•ฐๆฎ
โ”œโ”€โ”€ pages/              # ๆ–‡ๆกฃ็ซ™็‚น
โ”œโ”€โ”€ main.go             # ๅบ”็”จๅ…ฅๅฃ
โ”œโ”€โ”€ go.mod              # Go ไพ่ต–
โ””โ”€โ”€ deploy.sh           # ๆž„ๅปบ่„šๆœฌ

๐Ÿ“ฆ ๅฟซ้€Ÿๅผ€ๅง‹

็Žฏๅขƒ่ฆๆฑ‚
  • Go: 1.23 ๆˆ–ๆ›ด้ซ˜็‰ˆๆœฌ
  • ๆ“ไฝœ็ณป็ปŸ: Linux / Windows / macOS / Android
  • ๆžถๆž„: amd64 / arm64 / armv7 / arm
ๅฎ‰่ฃ…
1. ไธ‹่ฝฝๆบ็ 
git clone https://github.com/ibuilding-X/driver-box.git
cd driver-box
2. ๅŠ ่ฝฝไพ่ต–
# ๅ›ฝๅ†…็”จๆˆทๆŽจ่ไฝฟ็”จ้•œๅƒ
go env -w GOPROXY=https://goproxy.cn,direct

# ๅŠ ่ฝฝไพ่ต–
go mod tidy
go mod vendor
3. ่ฟ่กŒ
# ็›ดๆŽฅ่ฟ่กŒ
go run main.go

# ๆˆ–็ผ–่ฏ‘ๅŽ่ฟ่กŒ
go build -o driver-box
./driver-box
ไบคๅ‰็ผ–่ฏ‘

้กน็›ฎๆไพ›ไบ†่‡ชๅŠจๅŒ–ๆž„ๅปบ่„šๆœฌ๏ผŒๆ”ฏๆŒๅคšๅนณๅฐไบคๅ‰็ผ–่ฏ‘๏ผš

# ๆ‰ง่กŒๆž„ๅปบ่„šๆœฌ
bash deploy.sh

# ่พ“ๅ‡บ็›ฎๅฝ•
_output/
โ”œโ”€โ”€ driver-box-linux-arm64-v1.0.0.tar.gz
โ”œโ”€โ”€ driver-box-linux-amd64-v1.0.0.tar.gz
โ””โ”€โ”€ ...
้…็ฝฎ่ฏดๆ˜Ž

driver-box ไฝฟ็”จ res/ ็›ฎๅฝ•ไฝœไธบ้…็ฝฎ่ต„ๆบ็›ฎๅฝ•๏ผŒๅฏๅŠจๆ—ถๅฏ้€š่ฟ‡็Žฏๅขƒๅ˜้‡ๆŒ‡ๅฎš๏ผš

# ้ป˜่ฎค้…็ฝฎ่ทฏๅพ„
export DRIVERBOX_RESOURCE_PATH="./res"

# ่‡ชๅฎšไน‰้…็ฝฎ่ทฏๅพ„
export DRIVERBOX_RESOURCE_PATH="/opt/driver-box/res"

# ่ฎพ็ฝฎๆ—ฅๅฟ—็บงๅˆซ
export LOG_LEVEL="info"
export DRIVERBOX_LOG_PATH="./logs"

๐Ÿ”Œ ๅ†…็ฝฎๆ’ไปถ

ๅ่ฎฎๆ’ไปถ
ๆ’ไปถๅ็งฐ ๅ่ฎฎ็ฑปๅž‹ ่ฏดๆ˜Ž
modbus Modbus RTU/TCP ๅทฅไธš้€š็”จๅ่ฎฎ๏ผŒๆ”ฏๆŒไธฒๅฃๅ’ŒTCP
bacnet BACnet/IP ๆฅผๅฎ‡่‡ชๅŠจๅŒ–ๆ ‡ๅ‡†ๅ่ฎฎ
mqtt MQTT ็‰ฉ่”็ฝ‘่ฝป้‡็บงๆถˆๆฏๅ่ฎฎ
httpclient HTTP Client HTTP ๅฎขๆˆท็ซฏ๏ผŒๆ”ฏๆŒ REST API
httpserver HTTP Server HTTP ๆœๅŠก็ซฏ๏ผŒๆไพ› API ๆŽฅๅฃ
tcpserver TCP Server TCP ๆœๅŠก็ซฏ๏ผŒๆ”ฏๆŒ่‡ชๅฎšไน‰ๅ่ฎฎ
websocket WebSocket ๅฎžๆ—ถๅŒๅ‘้€šไฟกๅ่ฎฎ
dlt645 DLT645 ็”ต่ƒฝ่กจ้€šไฟกๅ่ฎฎ
export ๆ’ไปถ
ๆ’ไปถๅ็งฐ ๅŠŸ่ƒฝ่ฏดๆ˜Ž
linkedge ๅœบๆ™ฏ่”ๅŠจ
mirror ่ฎพๅค‡ๆ•ฐๆฎ้•œๅƒ
discover ่ฎพๅค‡่‡ชๅŠจๅ‘็ŽฐๆœๅŠก
gateway ๅˆ†ๅธƒๅผ็ฝ‘ๅ…ณ
ๅฏ็”จๆ’ไปถ

ๅœจ main.go ไธญๅฏ็”จ้œ€่ฆ็š„ๆ’ไปถ๏ผš

package main

import (
	"os"

	"github.com/ibuilding-x/driver-box/driverbox"
	"github.com/ibuilding-x/driver-box/exports"
	"github.com/ibuilding-x/driver-box/plugins"
)

func main() {
	// ่ฎพ็ฝฎๆ—ฅๅฟ—็บงๅˆซ
	_ = os.Setenv("LOG_LEVEL", "info")
	plugins.EnableAll()
	exports.EnableAll()
	driverbox.Start()
	select {}
}


๐Ÿ“š ่ฏฆ็ป†ๅผ€ๅ‘ๆ–‡ๆกฃ

ๅฎŒๆ•ด็š„ไบŒๆฌกๅผ€ๅ‘ๆ–‡ๆกฃ่ฏทๅ‚่€ƒ๏ผš


๐ŸŽฏ ๅบ”็”จๅœบๆ™ฏ

driver-box ้€‚็”จไบŽๅคš็ง็‰ฉ่”็ฝ‘ๅœบๆ™ฏ๏ผš

ๅœบๆ™ฏ ่ฏดๆ˜Ž ๆ”ฏๆŒ่ฎพๅค‡
ๆ™บๆ…งๆฅผๅฎ‡ HVAC ็ณป็ปŸใ€็…งๆ˜Ž็ณป็ปŸใ€็”ตๆขฏ็ณป็ปŸ ็ฉบ่ฐƒๆœบ็ป„ใ€็…งๆ˜ŽๆŽงๅˆถๅ™จใ€็”ต่กจใ€ๆฐด่กจ
ๆ™บๆ…งๅทฅๅŽ‚ ็”Ÿไบง่ฎพๅค‡็›‘ๆŽงใ€่ƒฝ่€—็ฎก็† PLCใ€ๅ˜้ข‘ๅ™จใ€ไผ ๆ„Ÿๅ™จใ€ๆ‰ง่กŒๅ™จ
ๆ™บ่ƒฝๅฎถๅฑ… ๅฎถ็”จ่ฎพๅค‡่”็ฝ‘ใ€ๅœบๆ™ฏ่”ๅŠจ ๆ™บ่ƒฝ้—จ้”ใ€ๆ™บ่ƒฝๅฎถ็”ตใ€็Žฏๅขƒไผ ๆ„Ÿๅ™จ
ๆ™บๆ…ง้—จๅบ— ่ฎพๅค‡็›‘ๆŽงใ€ๆ•ฐๆฎๅˆ†ๆž ๅ†ท้“พ่ฎพๅค‡ใ€POS ๆœบใ€็›‘ๆŽงๆ‘„ๅƒๅคด
ๆ™บๆ…งๅ›ญๅŒบ ็ปผๅˆ่ฎพๆ–ฝ็ฎก็† ่ƒฝๆบ็ณป็ปŸใ€ๅฎ‰้˜ฒ็ณป็ปŸใ€ๅœ่ฝฆ็ณป็ปŸ
ๅ…ธๅž‹ๆกˆไพ‹
  • โœ… ๅคšๅ“็‰Œ VRF ็ฉบ่ฐƒๆŽฅๅ…ฅ - ๆ”ฏๆŒ ๅคง้‡‘ใ€ๆ—ฅ็ซ‹ใ€ๆตทๅฐ”ใ€็พŽ็š„็ญ‰ๅ“็‰Œ๏ผŒ็ปŸไธ€ๆ•ฐๆฎๆ ‡ๅ‡†
  • โœ… ่ƒฝ่€—็ฎก็†็ณป็ปŸ - ๆŽฅๅ…ฅๅ„็ฑป็”ต่กจใ€ๆฐด่กจใ€็‡ƒๆฐ”่กจ๏ผŒๅฎž็Žฐ่ƒฝ่€—็›‘ๆŽงๅ’Œๅˆ†ๆž
  • โœ… ๆฅผๅฎ‡่‡ชๆŽง็ณป็ปŸ - ้›†ๆˆ BACnetใ€Modbus ่ฎพๅค‡๏ผŒๅฎž็Žฐ็ปŸไธ€ๆŽงๅˆถๅ’Œ็ฎก็†
  • โœ… ๅทฅไธš่ฎพๅค‡่”็ฝ‘ - ๅฐ†ไผ ็ปŸๅทฅไธš่ฎพๅค‡่ฟžๆŽฅๅˆฐไบ‘ๅนณๅฐ๏ผŒๅฎž็Žฐ่ฟœ็จ‹็›‘ๆŽง

๐Ÿค ๅ‚ไธŽ่ดก็Œฎ

ๆฌข่ฟŽๅ‚ไธŽ driver-box ็š„ๅผ€ๅ‘๏ผŒๆ‚จ็š„่ดก็Œฎๅฐ†ๅธฎๅŠฉๆ›ดๅคšๅผ€ๅ‘่€…๏ผ

่ดก็Œฎๆต็จ‹
  1. Fork ๆœฌไป“ๅบ“
  2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (git checkout -b feat/AmazingFeature)
  3. ๆไบคๆ›ดๆ”น (git commit -m 'Add some AmazingFeature')
  4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (git push origin feat/AmazingFeature)
  5. ๆไบค Pull Request
ไปฃ็ ่ง„่Œƒ
  • ้ตๅพช Effective Go ็ผ–็ ่ง„่Œƒ
  • ๆไบคไฟกๆฏ้ตๅพช Conventional Commits
  • ๆทปๅŠ ๅฟ…่ฆ็š„ๅ•ๅ…ƒๆต‹่ฏ•ๅ’Œๆ–‡ๆกฃๆณจ้‡Š
  • ็กฎไฟ้€š่ฟ‡ๆ‰€ๆœ‰ๆต‹่ฏ•ๆฃ€ๆŸฅ


๐Ÿ“ž ๅ้ฆˆไธŽๆ”ฏๆŒ

่Žทๅ–ๅธฎๅŠฉ
  • ๐Ÿ“š ๅฎ˜ๆ–นๆ–‡ๆกฃ - ๅฎŒๆ•ด็š„ไฝฟ็”จๆ–‡ๆกฃๅ’Œ API ๅ‚่€ƒ
  • ๐Ÿ› Issue ๅ้ฆˆ - ๆŠฅๅ‘Š Bug ๆˆ–ๆไบคๅŠŸ่ƒฝ่ฏทๆฑ‚
  • ๐Ÿ’ฌ ่ฎจ่ฎบๅŒบ - ไบคๆตไฝฟ็”จ็ป้ชŒๅ’Œๆœ€ไฝณๅฎž่ทต
  • ๐Ÿ” DeepWiki - AI ้ฉฑๅŠจ็š„็Ÿฅ่ฏ†ๅบ“้—ฎ็ญ”
่”็ณปๆ–นๅผ

ๅฆ‚ๆœ‰ๅ•†ไธšๅˆไฝœ้œ€ๆฑ‚ๆˆ–ๆŠ€ๆœฏๆ”ฏๆŒ๏ผŒ่ฏท้€š่ฟ‡ Issue ๆˆ– Discussion ่”็ณปๆˆ‘ไปฌใ€‚


๐Ÿ™ ่‡ด่ฐข

ๆ„Ÿ่ฐขไปฅไธ‹ๅผ€ๆบ้กน็›ฎ็š„ๆ”ฏๆŒ๏ผš

  • EdgeX Foundry - ่พน็ผ˜่ฎก็ฎ—ๆก†ๆžถ็š„ๅฏๅ‘
  • Golang - ๅผบๅคง็š„ Go ่ฏญ่จ€็”Ÿๆ€
  • Yuin/gopher-lua - Lua ่งฃ้‡Šๅ™จ
  • ๆ‰€ๆœ‰่ดก็Œฎ่€…็š„ไปฃ็ ่ดก็Œฎๅ’Œๅปบ่ฎฎ

ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนๆ‚จๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ๆˆ‘ไปฌไธ€ไธช โญ๏ธ Star๏ผ

โฌ† ๅ›žๅˆฐ้กถ้ƒจ

Documentation ยถ

The Go Gopher

There is no documentation for this package.

Directories ยถ

Path Synopsis
mcp
internal
pkg
config
Package config ๆ ธๅฟƒ้…็ฝฎ
Package config ๆ ธๅฟƒ้…็ฝฎ

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL