BTNqwe
STM32F103 and W5500-based Ethernet monitoring system that displays button and switch status on an LCD and web browser in real time.
0
Project description

π Overview
BTNqweλ STM32F103 MCUμ WIZnet W5500 Ethernet μΉ©μ μ¬μ©ν΄ λ²νΌκ³Ό μ€μμΉ μνλ₯Ό LCD λ° μΉ λΈλΌμ°μ μμ νμΈν μ μλλ‘ λ§λ μλ² λλ λ€νΈμν¬ νλ‘μ νΈμ λλ€.
μ΄ νλ‘μ νΈμ ν΅μ¬μ 물리 μ λ ₯ μ₯μΉμ μνλ₯Ό νμ₯ μ₯λΉμμλ§ νμΈνλ κ²μ΄ μλλΌ, Ethernet λ€νΈμν¬λ₯Ό ν΅ν΄ μ격 λΈλΌμ°μ μμλ νμΈν μ μκ² νλ κ²μ λλ€. λ¨μ GPIO μ λ ₯μ λ€νΈμν¬ κΈ°λ° μν λͺ¨λν°λ§ κ΅¬μ‘°λ‘ νμ₯νλ€λ μ μμ WIZnet Makerμ© UCCλ‘ μλ―Έκ° μμ΅λλ€.
νμ¬ κ³΅κ° μλ£ κΈ°μ€μΌλ‘λ μμ© μ ν보λ€λ κ΅μ‘μ©Β·νλ‘ν νμ μ±κ²©μ΄ κ°ν©λλ€. λ€λ§ ꡬ쑰 μ체λ μ°μ μ© Remote I/O, μ€λΉ μν λͺ¨λν°λ§, μ μ IoT λ Έλμ κΈ°μ΄ ννλ‘ νμ₯ κ°λ₯ν©λλ€.
π Features
- λ²νΌΒ·μ€μμΉ μν κ°μ§
STM32F103μ GPIO μ λ ₯μ ν΅ν΄ λ²νΌκ³Ό μ€μμΉ μνλ₯Ό κ°μ§ν©λλ€. μ λ ₯ μ΄λ²€νΈλ FreeRTOS μΈλ§ν¬μ΄λ₯Ό μ΄μ©ν΄ νμ€ν¬ λ¨μλ‘ μ²λ¦¬λ©λλ€. - LCD κΈ°λ° λ‘컬 μν νμ
I2C LCDλ₯Ό ν΅ν΄ λ²νΌ μν, μ€μμΉ μν, IP μ£Όμλ₯Ό νμ₯μμ μ§μ νμΈν μ μμ΅λλ€. - Ethernet κΈ°λ° μΉ μν νμΈ
W5500μ ν΅ν΄ TCP Socketμ μ΄κ³ HTTP μλ΅μ μμ±ν©λλ€. μ¬μ©μλ μΉ λΈλΌμ°μ μμ μ₯μΉμ λ²νΌ λ° μ€μμΉ μνλ₯Ό νμΈν μ μμ΅λλ€. - FreeRTOS κΈ°λ° νμ€ν¬ ꡬ쑰
LCD νμ, LED μ μ΄, IP νμ, μΉ μλ² μ²λ¦¬λ₯Ό λ³λ νμ€ν¬λ‘ λΆλ¦¬νμ΅λλ€. λ¨μ μμ λ³΄λ€ κ΅¬μ‘°νλ μλ² λλ μννΈμ¨μ΄ ννλ₯Ό κ°μΆκ³ μμ΅λλ€. - κ³ μ IP κΈ°λ° λ‘컬 λ€νΈμν¬ λμ
μμ μ½λ κΈ°μ€ κ³ μ IPλ₯Ό μ¬μ©ν΄ λ‘컬 λ€νΈμν¬μμ λΉ λ₯΄κ² ν μ€νΈν μ μμ΅λλ€. μ΄κΈ° κ²μ¦κ³Ό κ΅μ‘μ© μ€μ΅μ μ ν©ν©λλ€.
π System Architecture
BTNqweμ μ 체 ꡬ쑰λ β물리 μ λ ₯ κ°μ§ β MCU μ²λ¦¬ β λ‘컬 νμ β Ethernet μΉ μλ΅β νλ¦μ λλ€.
λ²νΌκ³Ό μ€μμΉ μ λ ₯μ STM32F103μ GPIOλ‘ λ€μ΄μ΅λλ€. MCUλ μ λ ₯ μνλ₯Ό FreeRTOS νμ€ν¬μμ μ²λ¦¬νκ³ , LCDμ LEDλ₯Ό ν΅ν΄ νμ₯ μνλ₯Ό νμν©λλ€. λμμ MCUλ SPI μΈν°νμ΄μ€λ₯Ό ν΅ν΄ W5500κ³Ό ν΅μ νλ©°, W5500μ TCP/IP λ€νΈμν¬ μ²λ¦¬λ₯Ό λ΄λΉν©λλ€.
μΉ λΈλΌμ°μ κ° μ₯μΉμ IP μ£Όμλ‘ μ μνλ©΄, STM32λ W5500 Socketμ ν΅ν΄ HTTP μμ²μ λ°κ³ νμ¬ λ²νΌΒ·μ€μμΉ μνλ₯Ό HTML νμμΌλ‘ μλ΅ν©λλ€. λ³λμ ν΄λΌμ°λ μλ² μμ΄ λ‘컬 λ€νΈμν¬ μμμ λμνλ μν μλ² λλ μΉ μλ² κ΅¬μ‘°μ λλ€.
λ°μ΄ν° νλ¦μ λ€μκ³Ό κ°μ΅λλ€.
- Button / Switch μ λ ₯
- STM32F103 GPIO κ°μ§
- FreeRTOS νμ€ν¬ μ²λ¦¬
- LCD λ° LED μν μΆλ ₯
- SPIλ₯Ό ν΅ν W5500 μ μ΄
- TCP Port 80 κΈ°λ° HTTP μλ΅
- μΉ λΈλΌμ°μ μμ μν νμΈ
π Role and Application of the WIZnet's Chip
μ΄ νλ‘μ νΈμμ μ¬μ©λ WIZnet μΉ©μ W5500μ λλ€.
W5500μ STM32F103κ³Ό SPIλ‘ μ°κ²°λμ΄ Ethernet ν΅μ μ λ΄λΉν©λλ€. νλ‘μ νΈ μ½λμμλ W5500 μ΄κΈ°ν, λ€νΈμν¬ μ 보 μ€μ , Socket μμ±, TCP Listen, HTTP μλ΅ μ μ‘ κ΅¬μ‘°κ° μ¬μ©λ©λλ€.
W5500μ μν μ λ€μκ³Ό κ°μ΅λλ€.
- MCUμ Ethernet μ°κ²° κΈ°λ₯ μ 곡
- TCP/IP Stack μ²λ¦¬
- TCP Socket μμ± λ° μμ λκΈ°
- HTTP μν νμ΄μ§ μ μ‘
- MCUμ λ€νΈμν¬ μ²λ¦¬ λΆλ΄ κ°μ
W5500μ μ νν μ΄μ λ Hardwired TCP/IP ꡬ쑰 λλ¬Έμ λλ€. TCP/IP μ²λ¦¬λ₯Ό μΉ© λ΄λΆ νλμ¨μ΄ λ‘μ§μΌλ‘ μννλ―λ‘, STM32F103μ²λΌ 리μμ€κ° μ νλ MCUμμλ μμ μ μΈ μ μ λ€νΈμν¬ κΈ°λ₯μ ꡬννκΈ° μ½μ΅λλ€. λν SPI μΈν°νμ΄μ€ κΈ°λ°μ΄λ―λ‘ MCUμμ μ°κ²° κ΅¬μ‘°κ° λ¨μνκ³ , κΈ°μ‘΄ 8-bitΒ·32-bit MCU νλ‘μ νΈμλ μ μ©νκΈ° μ’μ΅λλ€.
μ΄ νλ‘μ νΈμμ W5500μ λ¨μ ν΅μ 보쑰 λΆνμ΄ μλλΌ, 물리 μ λ ₯ μ₯μΉλ₯Ό λ€νΈμν¬ κΈ°λ° μν λͺ¨λν°λ§ μ₯μΉλ‘ νμ₯νλ ν΅μ¬ λΆνμ λλ€.
π Market & Application Value
BTNqweλ νμ¬ λ¨κ³μμλ κ΅μ‘μ©Β·μ€μ΅μ© νλ‘μ νΈμ κ°κΉμ§λ§, ꡬ쑰μ μΌλ‘λ μ°μ μ© Remote I/Oμ μ€λΉ μν λͺ¨λν°λ§ μ₯μΉμ κΈ°λ³Έ ννλ₯Ό κ°κ³ μμ΅λλ€.
μ μ© κ°λ₯ν λΆμΌλ λ€μκ³Ό κ°μ΅λλ€.
- μ°μ μλν μ€λΉμ λ²νΌΒ·μ€μμΉ μν λͺ¨λν°λ§
- μ€λ§νΈ ν©ν 리 λ΄ λ¨μ λμ§νΈ μ λ ₯ νμΈ μ₯μΉ
- μ₯λΉ μ μ΄λ°μ λ‘컬 μΉ μν νμκΈ°
- κ΅μ‘μ© Ethernet μ€μ΅ ν€νΈ
- μ κ°ν μ μ IoT λ Έλ
- μ€νμ€Β·ν μ€νΈ μ₯λΉ μν νμΈ μ₯μΉ
μ€μ ꡬ맀 주체λ B2B μμ₯μ λ κ°κΉμ΅λλ€. μ₯λΉ μ μ‘°μ¬, 곡μ₯ μλν μ 체, κ΅μ‘κΈ°κ΄, μ°κ΅¬μ, ν μ€νΈ μ₯λΉ κ°λ°νμ΄ μ£Όμ λμμ΄ λ μ μμ΅λλ€.
κΈ°μ‘΄ PLCλ Remote I/O μ νκ³Ό λΉκ΅νλ©΄ κΈ°λ₯κ³Ό μ λ’°μ±μ μ νμ μ λλ€. κ·Έλ¬λ μ λΉμ© MCUμ W5500 κΈ°λ°μΌλ‘ λ¨μ μ λ ₯ μνλ₯Ό λ€νΈμν¬μ μ°κ²°ν μ μλ€λ μ μ μ₯μ μ λλ€. νΉν μ 체 μμ€ν μ μκ² κ΅¬μ±ν μ μκ³ , ν΄λΌμ°λ μμ΄ λ‘컬 λ€νΈμν¬μμ λμνλ€λ μ μ νμλ§ νκ²½μ μ°μ μ₯λΉμ μ ν©ν©λλ€.
μ ννλ₯Ό μν΄μλ μ λ ₯ μ±λ νμ₯, μ μ° νλ‘, μμ§ λ³΄νΈ, μ μ μμ ν, DHCP μ§μ, μΉ UI κ°μ , 보μ κΈ°λ₯, μΌμ΄μ€ μ€κ³, μ₯μκ° λμ ν μ€νΈκ° νμν©λλ€.
π WIZnet Strategic Value
BTNqweλ WIZnet Maker μνκ³μμ W5500μ μ₯μ μ μ½κ² μ€λͺ ν μ μλ μ€μ΅ν μ½ν μΈ μ λλ€. 볡μ‘ν ν΄λΌμ°λλ λκ·λͺ¨ μλ² μμ΄λ MCUμ W5500λ§μΌλ‘ 물리 μ₯μΉ μνλ₯Ό μΉ λΈλΌμ°μ μ νμν μ μλ€λ μ μ 보μ¬μ€λλ€.
μ΄ UCCκ° μ£Όλ λ©μμ§λ λͺ νν©λλ€. W5500μ λ¨μ TCP ν΅μ μμ λ₯Ό λμ΄μ, μ€μ μ₯λΉ μνλ₯Ό λ€νΈμν¬λ‘ μ°κ²°νλ μ μ IoT λ Έλμ ν΅μ¬ λΆνμΌλ‘ νμ©λ μ μμ΅λλ€.
λ€λ₯Έ κ³ κ°κ³Ό κ°λ°μμκ²λ λ€μκ³Ό κ°μ νμ₯ λ°©ν₯μ μ μν μ μμ΅λλ€.
- λ€μ±λ λμ§νΈ μ λ ₯ λͺ¨λν°λ§ μ₯μΉ
- Ethernet κΈ°λ° μ€λΉ μν νμκΈ°
- μΉ μ€μ νμ΄μ§κ° ν¬ν¨λ μ₯λΉ μ»¨νΈλ‘€λ¬
- MQTT λλ REST API κΈ°λ° IoT κ²μ΄νΈμ¨μ΄
- W5500 κΈ°λ° κ΅μ‘μ© μ€μ΅ 보λ
- νμλ§ νκ²½μ© λ‘컬 λͺ¨λν°λ§ μ₯μΉ
μ λ΅μ μΌλ‘λ W5500μ βκ°λ¨ν μ°κ²°μ±β, βMCU λΆλ΄ κ°μβ, βμ μ λ€νΈμν¬ μμ μ±βμ 보μ¬μ£Όλ μ¬λ‘λ‘ νμ©ν μ μμ΅λλ€. ν₯ν README 보κ°, νλ‘λ μΆκ°, λμ μμ μΆκ°, WIZnet Maker λ¬Έμνκ° μ΄λ£¨μ΄μ§λ©΄ μΈλΆ κ°λ°μ μ μ ν¨κ³Όλ λμμ§ μ μμ΅λλ€.
π Summary
BTNqweλ STM32F103κ³Ό WIZnet W5500μ μ΄μ©ν΄ λ²νΌκ³Ό μ€μμΉ μνλ₯Ό LCDμ μΉ λΈλΌμ°μ μμ νμΈν μ μλλ‘ λ§λ μλ² λλ Ethernet νλ‘μ νΈμ λλ€.
물리 μ λ ₯ μνλ₯Ό λ¨μν μ₯μΉ λ΄λΆμμλ§ μ²λ¦¬νμ§ μκ³ , λ‘컬 λ€νΈμν¬λ₯Ό ν΅ν΄ λΈλΌμ°μ μμ νμΈν μ μκ² κ΅¬μ±ν μ μ΄ ν΅μ¬μ λλ€. W5500μ STM32μ SPIλ‘ μ°κ²°λμ΄ TCP/IP ν΅μ μ λ΄λΉνλ©°, μ¬μ©μλ λ³λμ μλ² μμ΄ μ₯μΉ IPμ μ μν΄ νμ¬ μνλ₯Ό νμΈν μ μμ΅λλ€.
μ΄ νλ‘μ νΈλ λ²νΌ, μ€μμΉ, LCD, Ethernet μΉ μλ²λ₯Ό νλμ νλ¦μΌλ‘ μ°κ²°ν΄ W5500 κΈ°λ° μ μ λ€νΈμν¬ μ₯μΉκ° μ΄λ»κ² ꡬμ±λλμ§ λ³΄μ¬μ€λλ€. ν₯ν μ λ ₯ μ±λ νλ, μΉ νλ©΄ κ°μ , λ€νΈμν¬ μ€μ κΈ°λ₯ μΆκ° λ±μ ν΅ν΄ μ₯λΉ μν λͺ¨λν°λ§μ΄λ κ΅μ‘μ© μ€μ΅ μμ λ‘ νμ₯ν μ μμ΅λλ€.
π QnA
Q1. BTNqweλ 무μμΈκ°μ?
BTNqweλ STM32F103κ³Ό WIZnet W5500μ μ¬μ©ν΄ λ²νΌκ³Ό μ€μμΉ μνλ₯Ό LCDμ μΉ λΈλΌμ°μ μμ νμΈνλ μλ² λλ Ethernet νλ‘μ νΈμ
λλ€. λ‘컬 μ₯μΉ μνλ₯Ό λ€νΈμν¬λ‘ νμΈν μ μκ² λ§λλ μμ μ
λλ€.
Q2. W5500μ μ΄ νλ‘μ νΈμμ μ΄λ€ μν μ νλμ?
W5500μ STM32F103μ΄ Ethernet λ€νΈμν¬μ μ°κ²°λλλ‘ ν΄μ£Όλ ν΅μ¬ μΉ©μ
λλ€. TCP/IP μ²λ¦¬μ Socket ν΅μ μ λ΄λΉν΄ μΉ λΈλΌμ°μ λ‘ μν μ 보λ₯Ό μ μ‘ν©λλ€.
Q3. μ΄ νλ‘μ νΈκ° κΈ°μ‘΄ λ¨μ GPIO μμ μ λ€λ₯Έ μ μ 무μμΈκ°μ?
μΌλ° GPIO μμ λ λ²νΌ μνλ₯Ό LEDλ μλ¦¬μΌ μΆλ ₯μΌλ‘λ§ νμΈν©λλ€. BTNqweλ μ΄ μν μ 보λ₯Ό Ethernet κΈ°λ° μΉ νμ΄μ§λ‘ νμ₯ν΄ μ격 νμΈμ΄ κ°λ₯νκ² ν©λλ€.
Q4. μ°μ
μ© μ νμΌλ‘ λ°λ‘ μ¬μ©ν μ μλμ?
νμ¬ κ³΅κ° μλ£ κΈ°μ€μΌλ‘λ λ°λ‘ μ°μ
νμ₯μ ν¬μ
ν기보λ€λ νλ‘ν νμ
λλ κ΅μ‘μ© μμ μ κ°κΉμ΅λλ€. μ°μ
μ© μ ννλ₯Ό μν΄μλ μ
λ ₯ 보νΈ, μ μ°, μ μ μμ μ±, μΈμ¦, μ₯μκ° ν
μ€νΈκ° νμν©λλ€.
Q5. μ΄ UCCμ ν΅μ¬ κ°μΉλ 무μμΈκ°μ?
ν΅μ¬ κ°μΉλ W5500μ μ΄μ©ν΄ λ¨μ 물리 μ
λ ₯ μ₯μΉλ₯Ό λ€νΈμν¬ κΈ°λ° λͺ¨λν°λ§ μ₯μΉλ‘ νμ₯νλ€λ μ μ
λλ€. WIZnet μΉ©μ΄ μν MCU μμ€ν
μ Ethernet κΈ°λ₯μ μ½κ² μΆκ°ν μ μμμ 보μ¬μ€λλ€.
