Skip to content

Latest commit

ย 

History

History
88 lines (75 loc) ยท 5.93 KB

File metadata and controls

88 lines (75 loc) ยท 5.93 KB

็ณป็ปŸๆžถๆž„่ฎพ่ฎก

ไผŠๆœบๆŽง้‡‡็”จ็ŽฐไปฃๅŒ–็š„ๅˆ†ๅฑ‚ๆžถๆž„่ฎพ่ฎก๏ผŒๅฎž็Žฐไบ†้ซ˜ๅบฆๆจกๅ—ๅŒ–ๅ’Œ่ทจๅนณๅฐๆ”ฏๆŒใ€‚

ๆŠ€ๆœฏๆ ˆ

  • .NET 10.0 - ็ŽฐไปฃๅŒ–็š„่ทจๅนณๅฐๅผ€ๅ‘ๆก†ๆžถ
  • Avalonia UI - ่ทจๅนณๅฐ็”จๆˆท็•Œ้ขๆก†ๆžถ๏ผŒๅŸบไบŽMVVMๆžถๆž„
  • CommunityToolkit.Mvvm - ้ซ˜ๆ•ˆMVVMๆก†ๆžถ๏ผŒๆธ…ๆ™ฐ็š„่Œ่ดฃๅˆ†็ฆป
  • OpenCV - ๅ›พๅƒๅค„็†ๅ’Œ่ฎก็ฎ—ๆœบ่ง†่ง‰
  • ่‡ช็ ”่„šๆœฌๅผ•ๆ“Ž - ๅฎŒๆ•ด็š„็ผ–่ฏ‘ๅ™จ-่™šๆ‹Ÿๆœบๅฎž็Žฐ๏ผŒๆ”ฏๆŒๅคๆ‚้€ป่พ‘
  • ๆจกๅ—ๅŒ–่ฎพ่ฎก - ๆพ่€ฆๅˆๆžถๆž„๏ผŒๆ˜“ไบŽๆ‰ฉๅฑ•็ปดๆŠค

ๆžถๆž„ๆฆ‚่งˆ

็ณป็ปŸๆžถๆž„ๅ›พ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ็”จๆˆท็•Œ้ขๅฑ‚ (UI Layer)                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚
โ”‚  โ”‚  Avalonia UI     โ”‚         โ”‚   WinForms UI    โ”‚      โ”‚
โ”‚  โ”‚  (่ทจๅนณๅฐ)         โ”‚         โ”‚   (Windows)      โ”‚      โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                 ไธšๅŠก้€ป่พ‘ๅฑ‚ (Business Logic)               โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚
โ”‚  โ”‚  ViewModels      โ”‚         โ”‚   Services       โ”‚      โ”‚
โ”‚  โ”‚  (MVVMๆจกๅผ)       โ”‚         โ”‚   (ไธšๅŠกๆœๅŠก)      โ”‚      โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ๆ ธๅฟƒๅฑ‚ (Core Layer)                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚              EasyCon.Core                        โ”‚   โ”‚
โ”‚  โ”‚  (่„šๆœฌ่ฟ่กŒๅ™จใ€้กน็›ฎ็ฎก็†ใ€้…็ฝฎ็ฎก็†)                    โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ๆจกๅ—ๅฑ‚ (Module Layer)                   โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  Device  โ”‚ โ”‚ Capture  โ”‚ โ”‚  Script  โ”‚ โ”‚  VPad    โ”‚  โ”‚
โ”‚  โ”‚ (่ฎพๅค‡้€šไฟก)โ”‚ โ”‚(ๅ›พๅƒๅค„็†)โ”‚ โ”‚(่„šๆœฌ่งฃๆž)โ”‚ โ”‚(่™šๆ‹Ÿๆ‰‹ๆŸ„)โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                            โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   ็กฌไปถๅฑ‚ (Hardware Layer)                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                โ”‚
โ”‚  โ”‚ ๅ•็‰‡ๆœบ่ฎพๅค‡ โ”‚ โ”‚ ้‡‡้›†ๅก   โ”‚ โ”‚ ๆ‰‹ๆŸ„่ฎพๅค‡  โ”‚                โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆžถๆž„ไผ˜ๅŠฟ

่ทจๅนณๅฐ่ƒฝๅŠ›

  • ๅคšUIๆก†ๆžถ: Avaloniaๆ”ฏๆŒๅ…จๅนณๅฐ๏ผŒWinFormsไธ“็ฒพWindows
  • ่ฎพๅค‡ๆŠฝ่ฑก: ็กฌไปถๆ— ๅ…ณ็š„ๆŽฅๅฃ่ฎพ่ฎก๏ผŒไพฟไบŽ็งปๆค
  • ็ปŸไธ€API: ๅ„ๅนณๅฐๅ…ฑไบซๆ ธๅฟƒไธšๅŠก้€ป่พ‘

่ฎพๅค‡ๅ…ผๅฎนๆ€ง

  • ๅคšๅ่ฎฎๆ”ฏๆŒ: Serialใ€TCP/IPใ€่“็‰™็ญ‰ๅคš็ง้€šไฟกๅ่ฎฎ
  • ่‡ชๅŠจๅ‘็Žฐ: ๆ™บ่ƒฝ่ฎพๅค‡ๆ‰ซๆๅ’Œ่ฟžๆŽฅๆœบๅˆถ
  • ๆŽฅๅฃ็ปŸไธ€: ๆ ‡ๅ‡†ๅŒ–็š„ๆœๅŠกๆŽฅๅฃ่ฎพ่ฎก
  • ็ƒญๆ’ๆ‹”: ๆ”ฏๆŒ่ฟ่กŒๆ—ถ่ฎพๅค‡่ฟžๆŽฅๅ’Œๆ–ญๅผ€

ๅ›พๅƒ่ฏ†ๅˆซ่ƒฝๅŠ›

  • ๅคšๅผ•ๆ“Žๆ”ฏๆŒ: ้›†ๆˆๅคš็งๅ›พๅƒๅค„็†ๅบ“
  • ็ฎ—ๆณ•ไธฐๅฏŒ: ๆจกๆฟๅŒน้…ใ€OCRใ€้ขœ่‰ฒๆฃ€ๆต‹็ญ‰
  • ๆ€ง่ƒฝไผ˜ๅŒ–: ๅผ‚ๆญฅๅค„็†ใ€ๆ™บ่ƒฝ็ผ“ๅญ˜
  • ๆ˜“ๆ‰ฉๅฑ•: ๆ’ไปถๅผ็ฎ—ๆณ•ๆžถๆž„

ไปฃ็ ่ดจ้‡ไฟ่ฏ

  • MVVMๆžถๆž„: ๆธ…ๆ™ฐ็š„่Œ่ดฃๅˆ†็ฆป๏ผŒไพฟไบŽๅ•ๅ…ƒๆต‹่ฏ•
  • ๆ•ฐๆฎ็ป‘ๅฎš: ๅ“ๅบ”ๅผUIๆ›ดๆ–ฐ๏ผŒๅ‡ๅฐ‘ๆ ทๆฟไปฃ็ 
  • ๆจกๅ—ๅŒ–่ฎพ่ฎก: ๆพ่€ฆๅˆใ€้ซ˜ๅ†…่š๏ผŒๆ˜“ไบŽ็ปดๆŠค
  • ๅฎŒๅ–„ๆ–‡ๆกฃ: ่ฏฆ็ป†็š„ๆžถๆž„่ฎพ่ฎกๅ’ŒAPIๆ–‡ๆกฃ

ๅผ€ๅ‘ๅทฅๅ…ท

  • IDE: Visual Studio 2026
  • ็‰ˆๆœฌๆŽงๅˆถ: Git
  • ๆž„ๅปบๅทฅๅ…ท: MSBuild