[C#윈폼150] (HttpListener#8/바코드 인식 분리수거 쓰레기통) 웹서버와 사물인터넷(IoT) 보드(ESP8266) 데이터베이스(MYSQL) 연동시리즈!(녹칸다/포로리야공대가자)
프로그래밍/C# HttpListener 2021. 5. 20. 21:27
(HttpListener#8/바코드 인식 분리수거 쓰레기통) 웹서버와 사물인터넷(IoT) 보드(ESP8266) 데이터베이스(MYSQL) 연동시리즈!
-이번 시리즈는 C#윈폼과 사물인터넷보드(Wemos d1r1/ESP8266) 사이의 상호작용에 관련된 것이다!
-때때로 IoT보드를 사용해보면 외부의 조력이 필요한 경우가 있다!
-특정한 상황에서 의사결정을 지원해줄 모니터링 서버라던지 데이터를 저장해줄 DB가 필요할때가 있다!
-C#윈폼에 HttpListener를 이용해서 웹서버를 작동시키고 사물인터넷보드를 지원해주는 API를 구현해보고자 한다!
-이때 C#윈폼은 웹서버(WebServer)가 되는 것이고 사물인터넷보드는 웹클라이언트(WebClient)가 되는 것이다!
-사물인터넷보드가 필요한 내용을 Request하면 C#윈폼은 결과를 Response해주는 API같은 형태인 것이다!
-HttpListener시리즈는 다양한 개념이 연계되어야 하기 때문에 만만치 않을 것이다!
-8편에서는 바코드리더(GM65)를 이용해서 일반쓰레기와 플라스틱쓰레기를 구분하여 분리수거 해보자는 컨셉이다!
-이번편은 예전에 문의한 학생이 있었는데 그것에 대한 녹칸다의 결과물이라고 보면 될 듯하다!(그때 학생들은 잘 만들었으려나..)
-C#윈폼에서 돌고있는 웹서버에 DB가 세팅되어있고 상품의 EAN13바코드를 이용해서 플라스틱과 아닌것을 구분해보자!
-(시나리오) 쓰레기통이 2개가 있고 뚜껑이 서보모터로 열고 닫힌다! 상품의 바코드를 인식해서 플라스틱이면 플라스틱쪽 뚜껑이 열리고 일반이면 일반쪽 뚜껑이 열리는 방식인 것이다!
-1. 사물인터넷보드에서 상품바코드(EAN13)가 인식 되면 웹서버에 Request해서 플라스틱인지 아닌지를 IoT보드로 Response한다!
-2. IoT보드에서 인식된 결과를 이용해서 해당되는 서보모터의 각도를 제어한다!
-3. 상품의 EAN13바코드에 대한 추가정보를 데이터베이스에 기록을 할텐데 신상품이거나 DB에 없는 상품이면 어떤 전략을 구사할지 고민해보자!
(C#프로젝트/웹서버)
(사물인터넷보드코드/웹클라이언트)
관련라이브러리(LiquidCrystal_I2C)