【 아두이노 완공#23】 ESP8266 esp-01 스마트폰 WiFi 접속 LED 제어하기 with Android App Inventor 앱만들기

  Рет қаралды 35,963

라즈이노

라즈이노

Күн бұрын

스마트폰을 이용해서 WiFi 접속을 통해 원격으로, 무선으로 LED 2개를 켜고 끄도록 해보는 실습을 진행할께요. 앱인벤터로 쉽게 앱을 만드는 영상도 첨부했어요.
▶ [8266 보드 Plugin] : arduino.esp8266...
▶ 추가상세 자료 : rasino.tistory...
▶ WiFi 업로드 code 코드(WiFi LED 제어 코드) : k.kakaocdn.net...
▶ 안드로이드 구동 앱 App 다운로드 (.apk Download) : k.kakaocdn.net...
▶앱-인벤터 제작 프로젝트 파일 (.aia) 다운로드 (Download) : k.kakaocdn.net...
▶앱 인밴터 텍스트 이미지 : k.kakaocdn.net...
▶ 아두이노 우노 연결 회로(업로드용) : img1.daumcdn.n...
▶ 아두이노 우노 연결 회로(LEDx2 연결용) : img1.daumcdn.n...
▶ WiFi 미니회로, USBtoTTL 연결 회로(업로드용) : img1.daumcdn.n...
▶ WiFi 미니회로, USBtoTTL 연결 회로(LEDx2 연결용) : img1.daumcdn.n...
《 영상에 사용된 저항의 용도에 대한 설명 》
5:44 여기 회로를 보면, LED에 연결된 저항이 있습니다. 저항의 역할은 기본적으로 전류의 흐름을 천천히(시간대비 적은 양이) 흐르도록 제어하여 LED 같은 부품을 보호하거나 회로가 합선 되지 않도록 보호합니다. LED의 경우 전류의 흐름을 적절히 방해시켜줄 수 있는 저항 성분이 없는 부품이어서, 만약 5V 전압이 지속적으로 흐를 경우, LED가 손상을 입을 수 있기 때문에 100옴~470옴 사이의 저항을 연결해서 사용하게 됩니다. 다만, 여기서는 esp-01 모듈에서 나오는 출력은 3.3V 아래 정도이기에 저항을 달지 않아도 장시간 켜지는 경우가 아니라면 크게 문제는 없을 것으로 보이네요.
그 외에, 1K옴 3개를 연결해 놓은 부분은, esp-01모듈에 공급해야 하는 전원인 3.3v를 공급해 주기 위해 , 아두이노의 5V 출력을 2/3 지점으로 연결하여 (5V의 3분의 2 값은 3.3v) , esp-01의 vcc 전원으로 연결해 준 것입니다. 비록, 아두이노에 3.3V 출력 단자가 있어 이 것을 연결하면 되지만, 아두이노에서 3.3v 출력 단자는 특히 가격이 저렴한 호환 보드의 경우 출력되는 전류량이 낮거나 약해서 esp-01이 제대로 작동하기 힘든 경우들이 있기 때문에, 안전한 동작을 위해 저항을 연결하여 조치한 것이에요.
그렇기 때문에, 500옴 미만의 너무 낮은 저항만 아니라면, 2/3 분배를 해 줄 수 있는 다른 저항 값 조합을 이용해도 됩니다. (예, 2k옴 3개를 연결하거나, 1k옴 1개와 2k옴1개를 연결 등등)
도움되셨다면 좋아요! 구독! 해주시면 다음 영상도 빠르게 보실 수 있습니다. ^^;

Пікірлер: 67
@kjeng2000
@kjeng2000 4 жыл бұрын
도음이 많이됍니다 설명도 깔끔하게 하시구요 많은분들이 구독 했으면 합니다
@Rasino
@Rasino 4 жыл бұрын
♡♡♡ 안녕하세요~ 말씀 감사드려요~ ^^ 이번 영상제작에 공을 많이 들였는데 보람을 느끼게 해주시는 말씀 정말 감사해요~ 오늘도 좋은 하루 되세요~ )^^(
@탑수리맨
@탑수리맨 3 жыл бұрын
라즈이노 IOT 님 ~! 넘 감사합니다!
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 댓글 감사해요~ 좋은 하루 되세요~ ^^
@uio86a
@uio86a 2 жыл бұрын
이런것들을 지금 아는사람과 2년전에 알았던사람은 지금 어떤차이가 있나요? 2년전부터 아셧던분들은 인공지능을 설치하고계시는건가.. 그럼 다른것을 공부하는게 나은건가요...
@Rasino
@Rasino 2 жыл бұрын
안녕하세요~ ^^ 네, 충분히 생각해 볼만한 주제네요. 이건 제 의견이니 참고해 보세요. 이런 지식을 2년전에 알았더라도, 그 사람이 2년동안 아주 열심히 노력했다 하여도 인공지능 관련 코딩이나 설계하는 등의 높은 수준을 바로 할 수 있는 경우는 그리 많지 않다고 봅니다. 이걸 한 번 해봤다고 해서 온전히 자신만의 지식으로 녹아들지는 않아요. 관련된 비슷한 실험이나 실습으로 지속적인 트레이닝이나 경험을 더 쌓게 되어야 비로서 자신에게 흡수된다고 말할 수 있겠네요. 그리고, 이 한 가지 프로젝트와 관련해서도 연결된 여러가지 부가 지식들이 필요 할 수 있는 데요, 예를 들어, 응용이 가능하려면 관련된 여러가지 전자부품에 대한 이해나, WiFi로 통신할 웹 페이지를 직접 구성하는데 도움이 되는 HTML, CSS 등등 이것을 흡수 하는데도 꽤 많은 투자가 필요할 수 있어요. 따라서, 이쪽 한 가지를 배우다 보면 관련된 세부 학습 영역들이 많이 보이기 때문에, 지금 진입하거나 더 나중에 진입하더라도 충분히 들어올 만한 가치가 있다고 봅니다. 한 예로, 외국어를 인공지능 알고리즘으로 자동 번역해주는 번역 기계가 개발 되었다고 뉴스에 나왔을 때, "아... 이제 외국어 회화에 직접 시간 투자하는 건 의미 없구나, 외국어 할 수 있는 능력도 의미 없겠는걸? " 라고 생각이 들 수 있을테고, 또 다른 예로, 복잡하고 어려운 프로그래밍 코드를 이제 인공지능이 알아서 짜주는 시대가 되었다는 뉴스를 보고도 비슷한 생각이 드실 수 있겠지요. 그런데, 실상은 직접 외국어를 기기의 도움 없이 할 수 있는 능력, 자신의 귀로 듣고 바로 이해하고 바로 말 할 수 있는 능력과, 기기의 도움을 받아야만 할 수 있는 것에는 대단히 큰 차이가 있다고 봅니다. 단편적인 예로, 외국에 나가서 깊숙한 곳을 여행중에 인공지능 번역기의 밧데리가 나가거나 고장, 분실 되었을 때, 그 때는 패닉 상태가 되겠지요... 그리고 영화든 지식관련 영상물이든 직접 외국어를 듣고 읽을 수 있는 능력은 정보 습득에 있어서도 차이가 납니다. 저 같은 경우는 영어 영상물이나 중국어로 된 이 쪽 계통의 자료를 받아들이는데 특별한 번역기의 도움 없이도 직접 듣고 보고 하기 때문에 이쪽 계통에 도움이 많이 되고 있습니다. 인공지능 번역 같은 걸로는 한계가 있지요. 코딩 쪽도 마찬가지라고 봅니다. 인공지능 코딩이 나왔으니, 이제 코딩 공부할 필요가 없어지는 것이 아니라, 코딩에 대해 공부하고 어느 정도 이해가 된 사람들이 인공지능코드 관련된 것을 설계하거나, 유지보수 등 다루게 되며, 더 나은 방식으로 업그레이드 할 수 있는 능력자가 될 수 있는 것이지요. 즉, 관련 직업(직무)이 없어지는 것이 아니라, 역할(직무) 이 바뀌는 것이고, 코딩관련 새로운 직업(직무)이 추가로 생겨나는 것이기 때문에 관련된 쪽이 흥미가 있고 관심이 있다면 충분히 도전 하셔도 된다라고 말씀드릴 수 있겠네요. 정말 중요한 것은, 이쪽 분야에 대한 자신의 성향이나 집중도 관심 흥미 같은 것들이 충분히 고려되어 지는 것이 좋습니다. 그래야 진득하게 흔들리지 않고 공부에 몰입하고 시간 투자를 이어갈 수 있게되고 그리하여 결과물이 나오게 되거든요. 물론, 미래 직업으로서의 돈을 벌 수 있는지?가 현실적으로 중요한 문제겠지만, 돈이 되더라도 흥미와 관심, 몰입을 통해 지식을 쌓아가는 과정에서 느끼는 희열이나 성취감 같은 것이 없는 분야라면 오래 버티며 이어나가기 어려울 거라 봅니다. 참고로, 이공 관련된 이쪽 분야는 실험 실습 등 공부하면서 중간 중간 피드백들이 자주 있기 때문에 성취감도 충분히 느낄 수 있고, 작업하다보면 시간 가는 줄 모를 정도로 몰입이 잘 되기 때문에 행복감 같은 것도 때때로 느끼실 수 있을 거예요. 하나 하나 알아가는 재미와 그 지식들이 융합 되면서 새로운 것을 만들 수도 있고 응용력도 점점 키워나갈 수 있다고 말씀드릴 수 있겠네요. 그럼, 마지막으로 어디까지나 옳고 그름이 아닌 제 개인적인 의견이니 참고해 보세요. ^^
@양희재-o2v
@양희재-o2v 3 ай бұрын
선생님 의 코드를 수정해서 사운드 센서로 입력받아 임계값을 넘게되면 알람을 울리는 장치를 만들고 싶습니다. 여기서 앱으로 임계값을 버튼을 누르면 5씩 증가하거나 감소하는 방식으로 조절하고 싶은데 혹시 방법좀 간단히 알려주실 수 있나요? 그리고 ESP8266WiFI.h: No such file or directory라고 뜨면서 오류가 나요. 이건 왜 이런건가요? 그리고 GPIO핀이 입력이나 출력을 하는 핀인가요? 사운드 센서는 analogRead를 사용해야하는데 이 함수를 사용해도 되나요? 도와주세요....
@Rasino
@Rasino 3 ай бұрын
안녕하세요. 먼저 알려드릴 것은 지금 직접 만들어보고 알려드리는 것이 아니기 때문에 알려드리는 내용에 오류나 방법적인 접근이 달라야할 수 있으니 조언으로만 참고해서 차근 차근 시도해 보세요~ 아울러, 직접하면서 하나하나 해결하는 과정에서 더 많은 공부가 됩니다. 먼저 analogRead 부분부터 설명해볼게요. 1.digitalRead는 0 또는 1 값만 판별해서 읽는 함수고요, analogRead는 아날로그적인 수치로 값을 읽어 들이는데, 중요한 것은 아두이노와 같은 보드마다 모두 아날로그 입력을 받을 수 있는 것은 아니에요. esp01는 기본적으로는 디지털값만 입력 받을 수 있어요(GPIO 핀2개, GPIO 0번, GPIO 2번) 따라서 해당프로젝트를 시도해보려면, 아날로그 입력이 가능한 WiFi기능이 되는 다른 보드를 사용해 보세요. Nano33 iot보드나 아두이노 D1 mini 보드 혹은 esp8266이나 esp32보드 같은 것을 사용해보세요. 그리고 보드가 바뀌면 보드에 대해서 따로 먼저 공부를 좀 더 해야하고요, 보통은 사용되는 라이브러리가 바뀌기 때문에 코드를 일부 변경해야 합니다. 따라서 디지털값을 입력받아서 하는 프로젝트로 변경해서 해볼 수 있고요, 만약 보드를 바꾸게 되면 필요한 절차는 아래와 같아요. 2. 우선 프로젝트의 원하는 목표치가 있을 때, 그 수준을 한 번에 달성하려고 하면 막막할 수 있어요 따라서, 단계별로 나누어서 쉬운 단계부터 성공하면 하나씩 올리는 방법으로 해보세요. 그래서 절차 예시를 설명해 보면, ① WiFi 통신없이 보드에 사운드 센서를 연결하고 박수소리 같은 것으로 임계 이상값이 들어 올 경우 연결한 LED를 켜본다. (기본적으로 사운드 센서에 보면 가변저항 같은 부품이 연결되어 있는데 거기 레버를 돌려보면 기본적인 입력 임계값을 조절할 수 있고 그걸 박수 소리에 반응할 수 있는 적정값으로 세팅해놓고 시작합니다) ② 위, 1번이 성공하면, 앱인벤터 앱 블럭에서 "/gpio1/1" 이 부분들을 찾아서 값을 올리는 업버튼을 누를 때 예를 들어 임계값이 50이라면 threshold=50,변수 만들어 넣어 놓고 예를들어 threshold+5가 더해진 55라는 값이 전달되도록해서 "/gpio1/55" 를 버튼1을 누를 때 전송시키고, 반대로 다운 버튼을 누르면 45라는 값이 전달되도록해보세요. 3. ESP8266WiFI.h: No such file or directory 이런 라이브러리 에러의 경우 대략 두 가지 경우에서 볼 수 있는데요, 첫 째로 아두이노IDE의 툴 메뉴에서 본인이 사용할 보드(esp01)를 선택하지 않은 상태에서 컴파일하거나 무슨 시도를 할 경우에 많이 발생하고요, 두 번째로 똑 같은 이름의 'ESP8266WiFI.h' 라이브러리 파일이라도 내용이 다른 파일들이 인터넷 상에 존재하고 있고, 코드에서 작성된 함수가 없거나 다를 경우 발생할 수 있는 에러이니, 같은 이름의 기존 라이브러리가 있을 경우 잠시 다른 곳에 백업을 해 놓고, 여기서 제공해드리는 라이브러리파일을 다시 복사해 놓고 해보세요. 이와 관련하여 라이브러리 관련 에러사항 예시들을 좀 더 검색해보면서 익혀놓으면 도움이 많이 될 거에요. 4. GPIO 핀은(general-purpose input/output)의 약자로 기본적으로 입력 또는 출력으로 선택해서 사용하는 핀이 맞아요.
@user-star0327
@user-star0327 3 жыл бұрын
안녕하세요. 영상 도움이 많이 되었습니다. 와이파이모듈을 처음 접하다보니 어려운 부분이 많네요. 궁금한게 있어서 여쭤볼까 합니다. 본론부터 말하면 저는 6개의 광센서를 이용해 아두이노로 값을 읽고 와이파이를 이용해 스마트폰으로 광량을 볼 수 있는 것이 목표입니다. 그래서 아날로그 0-5번 핀에서 데이터를 읽고 처리하여, 와이파이로 전송을 계획하고 있었는데 코드를 esp8266으로 다이렉트로 올릴때부터 개념이 꼬여버렸습니다. 간단한 줄 알았는데 esp에는 어떤 코드를 업로드해야하는지, 아두이노에는 어떤 코드를 업로드해아하는지 개념이 안잡히네요... 만들기 이전에 제가 구상하고 있는게 가능한지 여쭤보고 싶습니다.
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ ^^ ESP8266 모듈이 다른 WiFi 지원 모듈에 비해 다루기가 까다롭습니다. 단가가 싸고 크기가 작다는 장점 외에는 처음 다루시는 분에게는 많이 까다로운게 사실이에요. 일단, 개념 잡아드리면, 1. ESP8266-01 모듈은 아두이노와 같은 마이크로 프로세서 보드의 역할을 하는 보드입니다. 실제로, ESP-01 모듈에는 좀 작긴 하지만, 프로그램이 저장되는 플래시 메모리 영역이 있구요, 여기에 PC로 작성한 코드를 esp-01 모듈의 플래시 메모리에 탑재를 해야 하는데, 문제는 데이터를 업로드 시켜주는 통신모듈이 필요합니다. USB to TTL 모듈이라 하는데요, 대표적으로 영상에서도 소개한, FTDI칩셋의 모듈이나, CP2102 같은 모듈을 사용하여 esp-01과 PC사이에 통신을 가능하게 해줍니다. 그런데 그런 모듈은 따로 구매를 해야해서 , 구매하지 않고 가장 손쉽게 아두이노를 가지고도 USB to TTL 모듈과 같은 기능을 할 수도 있습니다. 그래서 영상에서는 시리얼 통신기기 처럼 작동 시키도록 아두이노를 사용한 것이기 때문에, 결국 최종적으로 아두이노를 사용하지 않습니다. 그래서 영상에 보시면, 처음 아두이노를 이용해서 코드를 esp-01모듈에 올린 것이 나오구요, 같은 코드를 CP2102 USB to TTL 모듈을 연결해서 esp-01 모듈에 올린 내용으로 두 가지 방법 모두 설명드리는 영상으로 진행되고 있어요. (아두이노 USB to TTL 사용법 : 0번, 1번 하드웨어 통신단자를 연결하고 Reset 단자를 GND에 연결 함. Reset단자가 GND에 연결된 상태이기 때문에, 이 상태에서는 아두이노에는 어떠한 코드도 올리지 못하며, 아두이노에 있는 코드는 동작하지 않게 됩니다) 2. ESP-01 모듈의 사용가능 입출력포트(GPIO)는 최대 2개 입니다. 따라서 해당 작업을 하시기에는 포트 수가 모자랄 것 같네요. 3. 추천 드리는 것은, 같은 esp8266 계열의 아두이노 D1 보드나, D1 mini 보드를 사용하시면, 메모리용량도 크고, esp-01 모듈보다 입출력 GPIO 포트가 많아서 여러개의 모듈을 컨트롤 하는 건 가능합니다. 물론, 기본 WiFi 통신이 가능하구요. esp-01 + 아두이노 합쳐진 개념이라고 보시면 됩니다. 그리고 크기가 훨씬 작은 D1 mini가 활용하기에는 더 좋습니다. (다만, D1 보드류를 사용하실 때는 코딩에서 디지털 포트 번호를 적을 때, 숫자만 적어 주는 것이 아니라, D1, D2, D3... 형태로 적는 몇 가지 부분이 약간 다른 것이 있으니, 기초부분을 살펴 보시는 것이 필요합니다.)
@user-star0327
@user-star0327 3 жыл бұрын
@@Rasino 너무 자세한 답변 감사드립니다ㅠㅠ
@verhi3710
@verhi3710 3 жыл бұрын
정말 도움이 많이 됐습니다. 감사합니다 그런데 앞 댓글에서 질문하신내용에 답변하신걸 봤는데요 GP0val 값과 GP2val 값은 0으로 초기화 되어 있구요, 그래서 회로의 초기상태는 모든 LED가 꺼져 있는 상태로 시작하게 됩니다. 네, 이해 하신대로 기본적으로 동시에 두 개의 LED는 켜지지 않으며, 한 번에 하나의 LED만 작동 됩니다. 터치를 할 때 마다, 아두이노 메인 함수의 루프가 반복적으로 돌면서 계속 0으로 초기화된 값 들이 기본 적용되기 때문입니다. 이 부분에서 예를들어 1번 LED가 켜진상태로 2번 LED도 켜지게 하려면 어떻게 하나요? 제가 if문도 4가지 상황에 따라 수정해보고, 초기화 구문도 없애보고 여러가지 해봤는데 상태를 저장시키는 방법은 도저히 모르겠어서 질문해봅니다..
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 아래 부분에 수정한 코드 영상을 올려놓았으니 확인해 보세요~ 자료 영상 : kzbin.info/www/bejne/eaCxl3uDf99mbJY 라이즈노 IoT의 코드 링크 : rasino.tistory.com/323
@에너지맨
@에너지맨 3 жыл бұрын
올리신 영상을 여러 번 씩 잘 보고 있습니다. 다만 관련 부품 몇 가지를 주문했는데, 1~2주가 걸린다 하네요. 부품이 도착하는 대로 따라서 만들어 보고 궁금한 점은 여쭤보겠습니다. 혹시 부탁을 드려봐도 될런지요? 원격으로 다른 동네에 있는 하우스를 개폐하는 것을 만들어 보고 싶습니다. 아두이노로 와이파이를 통해 제어를 해보려 하는데 24V 개폐기 모터가 16대인데요, DC24V 개폐 12대, 온습도계 센서 4개로 측정하고 AC물펌프 1대 작동 명령 등이 되도록 스마트폰으로 개폐하고 싶습니다. DC12V 16채널 릴레이를 사용하려다 보니 멀티플래서를 사용해야 하는 것 같고 DC24V 개폐기를 정역으로 제어해야 하는 데 이 때 브리지회로를 구성해야 하는 등이 고려되어야 하는 듯 합니다. 혹시 도움이 될 만한 영상이 있을지요? 지금의 영상 만으로도 도움이 많은 도움이 되고 있습니다만 위 질문에 대해 도와 주시면 더욱 감사하겠습니다.
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 우선, 릴레이쪽 제가 다룬 영상은 1-2채널 밖에 없기 때문에 , 다채널 릴레이와 멀티플렉서 사용은 유튜브에서 좀더 검색해서 참고하셔야 할 것 같네요. kzbin.info/www/bejne/h2rEc3xqerF-eZY , kzbin.info/www/bejne/q3nHe62elqeLfdE 개폐기 쪽도 제가 다루지 않은 쪽이어서 어드바이스를 드리기가 어려울 것 같아서, 그 외에 참고하실 만한 사항만 몇 가지 말씀드려 볼게요. 우선, 제가 영상에서 다룬 원격제어의 경우는 일반적으로 동일한 WiFi에 접속한 기기 들에 한해서 제어가 가능하다고 여기시고 설계하시는게 좋습니다. 따라서 내가 있는 WiFi 영역내가 아닌, 다른 동네에 있는 WiFi를 통해 장치를 제어 하려면, 그 동네 WiFi가 연결된 공유기의 셋팅을 건드려서 성공해야 하는 문제가 있으며, 공유기와 해당 인터넷 회선에 따라 설정이 불가 한 경우도 있기 때문에 이 경우는 테스트를 직접해보셔야 할거에요. 그 이유는 일반적으로 공유기에 연결된 장치들은 공유기 자체적으로 발급해주는 사설 IP(주소)여서, 공유기 아래 같은 내부 망에 연결된 핸드폰(WiFi연결된)인 경우는 해당 아두이노(릴레이) 장치가 할당받은 IP주소가 보이기 때문에 제대로 찾아가서 웹페이지를 통해 컨트롤 할 수 있습니다. 그런데, 내부망에서 운영되는 이런 사설IP는 외부에서는 알 수 없기 때문에 연결을 할 수 없게 됩니다. 따라서 해당 WiFi 공유기에 할당된 공인IP를 포트포워딩 같은 기능으로 지정을 해주면(보통은 하나만 가능) 해당 공인 IP의 경우는 외부에서도 주소로 인식할 수 있어 컨트롤 웹페이지가 열려 제어가 가능 하게 됩니다. 그래서 이런 경우는 좀 복잡하고 안 되는 경우도 있어서 아래와 같은 전용 클라우드 서버 툴을 이용하는 방법도 있으니 검색해서 알아보시면 도움이 되실 듯 합니다. 블링크(Blynk) 라는 서비스인데요, 스마트폰의 전용 메이킹 앱과 자체 서버를 통해서 구현하기 때문에, 공인IP의 문제 없이 기기들이 WiFi를 통해 인터넷에 연결만 되면 제어가 가능해 집니다. 참고 사이트 : kzbin.info/www/bejne/q5LUkIGFiJ51bcU , kzbin.info/www/bejne/rGWyfmiFaKanlc0 ( 다만, 기본적으로 간단한 구성은 비용이 발생하지 않지만, 구성이 많아지거나하면 일부 서비스 비용이 필요할 수 있어 보이니 한 번 직접 확인해 보시고 판단해보셨으면 좋을 것 같습니다. ) 끝으로, ESP8266-01모듈이 작아서 좋은 경우도 있지만, 제어할 수 있는 출력 GPIO 포트가 2개 뿐이어서 여러개를 제어하는 시스템에서는 구현이 어려울 수 있으니, 메인 컨트롤러를 D1 mini 혹은 ESP32와 같은 제어포트가 어느 정도 많은 것으로 첨부터 설계하시는 것이 좋을 수 있으니 이부분도 좀 고려해보셔야 할 것 같습니다. (이 쪽 영상들은 유튜브에 많이 올려져 있으니 한 번 참고해 보세요) 그럼, 조금이라도 도움되셨기를 바라며, 좋은 하루 되셨으면 합니다~ ^^
@user-ob3kc4mv3x
@user-ob3kc4mv3x 2 жыл бұрын
안녕하세요. 유익한 영상 잘 봤습니다. 하나 궁금한게 있어 여쭤봅니다. 다른 지역에서 LTE를 이용하여, 영상의 Wifi 모듈을 제어하는 어플을 만들고 싶으면, 혹시 어떤 자료를 참고하면 될까요?
@Rasino
@Rasino 2 жыл бұрын
안녕하세요. 지금 알고 계신 대로, 일반적으로 집안에서는 WiFi를 통해 내부 네트워크(사설 IP)에 연결된 IoT 작품(기기)들을 스마트폰으로 컨트롤 하기는 쉽습니다. 하지만, 집 밖 외부에서 집안의 WiFi에 연결된 기기들은 외부에서 인식할 수 없는 내부망IP로 연결되어 있기 때문에, 제어가 불가합니다. 이를 컨트롤하려면 "WiFi 라우터"의 공인 IP를 IoT 기기가 할당 받은 IP로 포트-포워딩 설정을 해야 하는 등의 까다로움이 있습니다. 그리고 스마트폰에서 제어할 목적으로 앱 같은 것을 만드는 과정도 복잡하고 익히기 어려운 코딩프로그램을 사용해야 합니다. ‘블링크(Blynk)’서비스는 이런 두 가지 주요 문제점을 보다 쉽게 해결할 수 있는 솔루션을 제공하고 있습니다. 제 최근 영상들이 바로 이에 관한 영상인데요, 다만 최근에 제 영상에서 보여드리는 Blynk 서비스가 사용자들의 급격한 증가로 인해 용량이 포화되어, 새로운 가입자(회원가입)를 받아 들이지 못하고 있어 Blynk 2.0 이라는 새로운 시스템을 내 놓았는데, 여기에 대해서는 국내 자료는 잘 없고 외국 자료들 위주로 검색되고 있으니 천천히 살펴 보시기 바랍니다. 스마트폰에서 앱 형태로 실행 할 수도 있고, 블링크 사이트의 로그인 된 화면에서 제공하는 웹페이지에서도 연동이 되어 똑 같이 컨트롤이 됩니다. 저도, Blynk 2.0 서비스는 아직 제대로 살펴보지 못해서 뭐라 도움을 드릴 수는 없네요. blynk.io/ 두 번째로, ThingSpeak 라는 서비스가 있고 역시 웹 컨트롤 화면 제공과 ThingSpeak 자체 앱으로 컨트롤 버튼을 만들어 쉽게 제어할 수 있도록 되어 있으니 살펴 보세요. 위 두 가지 서비스는 안드로이드 스튜디오나(Android OS용), 스위프트(IOS용) 등의 어려운 코딩 지식이 없더라도 쉽게 앱을 구현해 줍니다. 다만 프로그래밍으로 직접 앱을 만드는 것보다는 자신의 입맛대로 구현은 어렵겠지요. thingspeak.com/
@user-ob3kc4mv3x
@user-ob3kc4mv3x 2 жыл бұрын
@@Rasino 친절한 답변 감사합니다. 많은 도움이 되었습니다!
@allwayshapppyminjae
@allwayshapppyminjae Жыл бұрын
@@Rasino 집안에서는 마음대로 켰다 껐다 할수있다는 말씀이시죠?
@Rasino
@Rasino Жыл бұрын
@@allwayshapppyminjae 네, 맞습니다. 집안에서는 같은 WiFi에 연결 되어 있다면, 언제든 켜고 끄고 가능하세요~ ^^
@user-ld2qw6qq7v
@user-ld2qw6qq7v 4 жыл бұрын
안녕하세요 선생님 영상 잘 보고있습니다. 다름이아니라 혹시 서보모터 제어하는 영상도 올려주실 수 있나요?
@Rasino
@Rasino 4 жыл бұрын
안녕하세요~ ^^ 지금 현재는 계획된 다른 영상들이 대기 중에 있어서 당장은 좀 어렵겠지만, 나중에 서보모터를 활용한 제어 영상을 올려보도록 해볼게요. esp-8266 모듈을 활용해서 웹으로 제어되는 서보모터 관련 영상 얘기하시는거 맞으시죠? 그럼, 오늘 하루도 즐공 하시고, 좋은 하루 되세요~ *^^*
@김현빈-z6t
@김현빈-z6t 8 ай бұрын
선생님 코드를 적고 실행하는 과정에서 exit status 0xffffffff 오류가 뜨는데 왜 이러는건가요??
@Rasino
@Rasino 8 ай бұрын
안녕하세요~ 아두이노 IDE에서 "exit status 0xffffffff" 와 같은 오류는 보통 프로그램이 컴파일되거나 업로드될 때 발생해요. 따라서, ① USB 연결 및 제대로 된 올바른 포트 선택이나 옵션 선택이 되었는지? 확인을 해보시고, ② 보드 및 프로세서 설정이 맞게 되어 있는지? 확인해 보세요.
@user-ol3iq4jc3y
@user-ol3iq4jc3y 2 жыл бұрын
안녕하세요! 영상잘봤습니다. 궁금한게 있어서 여쭤봅니다! 제가 앱인벤터를 통해 인원을 카운트 앱을 만들려고 하는데 와이파이 모듈과 아두이노를 연결해서 앱인벤터로 만든 어플로 인원파악이 가능할까요?
@Rasino
@Rasino 2 жыл бұрын
안녕하세요~ 답글이 늦었네요... 네, 가능할 것으로 보입니다. 블루투스 모듈에서 카운트 되는 값을 보내오는 신호를 앱인벤터의 블루투스 모듈 중에 call [BluetoothClient1].ReceiveText numberOfBytes ... 블럭 같은 것으로 받아서 앱화면에 출력해 주면 될 듯 합니다. 유튜브에 검색해보면 아마 원하시는 형태의 영상이 있을 거예요. 참조해서 해보세요.
@can2hobby
@can2hobby 3 жыл бұрын
esp32 카메라 모듈을 설정한뒤로 와이파이 링크주소 복사 붙여넣기가 환경설정에서 안되는군요..어렵네...어라!!! ctrl + c 는 또 복사되네...거참!!!!
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 네, 마우스 우클릭 메뉴는 나오지 않는데요, 그냥 윈도우 자체적으로 클릭보드복사 붙여넣기 지원되어서 , 단축키로(Ctrl+C , Ctrl+V) 복사, 붙여넣기 하시면 됩니다~ ^^; 그리고, 기존 다른모듈의 환경설정이 있는 경우 입력란 우측에 있는 창모양을 클릭하면 여러줄 단위로 하나 이상의 환경설정을 넣기 편한 창이 열리니 참고해 보세요. (아래, 다른 영상에 설명 참고해 보세요) kzbin.info/www/bejne/pn6Xo4CBoZ5-e5I -> 영상에서 6:09 참고해 보세요.
@user-jh5se1vn2f
@user-jh5se1vn2f 4 жыл бұрын
같은 공유기가 아닌 핸드폰 데이터를 사용해서 어플을 통해서 제어할수있나요 ?
@Rasino
@Rasino 4 жыл бұрын
안녕하세요~ 그러니까, 외부에서 핸드폰으로 제어가 가능한지 궁금하신거죠? 기본적으로는, esp8266 회로가 할당받은 주소는 사설 IP로 되어 있습니다. 휴대폰도 wifi 접속 되어 있을 때는 같은 네트웍의 사설 IP로 되어 있어 esp8266모듈이 할당 받은 주소를 찾을 수 있고 연결이 되어 제어가 가능 한 것이구요. 그런데, 외부에서는 esp8266모듈이 할당 받은 192.168.x.x 식의 사설 IP는 보이지 않기 때문에 컨트롤 할 수 없게 되는데요, 방법은, 공유기 설정 화면에서 이 사설 IP를 '포트 포워딩' 설정을 해 놓으면 (즉, 192.168.x.x == 집 인터넷 회선의 공인IP ) 접속이 되어 외부에서도 제어가 가능할 것으로 생각됩니다. 다만, 이 방법은 회사 같은 경우 회사 방화벽 자체에서 차단 될 수도 있고, 집에서는 사용하는 통신사에 따라 IP 할당 방식의 문제나 역시 방화벽 설정 등의 문제로 막힐 수도 있어서 정확하게 된다라고 말씀드리기가 어렵네요. 그외의 방법으로는 , 아두이노 코드가 조금 달라지긴 하는데요, 요즘 많이 활용하는, 'ThingSpeak'나 'BLYNK' 사이트를 이용하는 방법이 있습니다. BLYNK 같은 경우, 'BLYNK' 앱을 이용하면, 앱인벤터를 이용하지 않아도 되고 앱에서 버튼 생성 등을 간단히 할 수 있고 앱에서 제어가 됩니다. esp8266회로 에서는 이쪽 서버로 접속하여 연결하게 합니다. 추가적으로 'BLYNK '를 이용하면, 전용 앱을 다운받아 (아이폰, 안드로이드폰, PAD 종류 모두 가능) 바로 활용 할 수 있구요. BLYNK 사이트에 간단히 회원 가입한 다음, 전용 라이브러리를 다운받아 아두이노에 설치해주면 바로 이용 가능합니다. 추후에 이와 같은 내용으로 따로 영상제작하여 올릴 계획은 갖고 있구요, 관련 내용으로 유튜브에 이미 많이 소개되어 있으니 먼저 살펴보시면 좋을 것 같네요~ ^^ 그럼, 좋은 하루 되세요~ ^^
@dongwha1574
@dongwha1574 3 жыл бұрын
안녕하세요. 친절한 설명과 영상 감사합니다. 몇가지 여쭤보고 싶은게 있는데요. 1.선생님 코드에서 url 뒤에 /gpio0/0를 보내서 이것을 기준으로 명령어를 구분하는 것 같은데, /gpio0/0 같은 구분자 기준이 있나요? 제가 /gpio0/1~/gpio0/9, /gpio1/0~9까지 해봤는데 넘어가니깐 더이상 인식을 못하더라구요, 더 많은 명령어를 보내려면 방법이 있을까요? 2.그리고 앱인벤터에서 rgb값 변수를 넘겨주고 싶은데, 예를들어 255,255,255 값을 넘겨 주려면 어떻게 해야 할까요?url 뒤에 /255/255/255 이런식으로 넘겨주니깐 url/255/255/255 로 인식해서 다른 주소로 인식하더라구요 ㅠㅠ
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 음.. 아두이노 코드와 앱인벤터에서 보내는 것과의 상관관계를 좀더 들여다 보시면 좋을 것 같구요. 1. 앱인벤터에서 버튼을 누르게 되면 주소 마지막에 /gpio0/0 를 넣어 보내게 되고, 아두이노 코드에서는 문자열 중에 해당문자열이 있는지? 검색하는 함수로( req.indexOf("/gpio0/0") ) 검색하여 if문으로 제어처리를 하도록 되어 있습니다. 기본적으로 esp-01 모듈은 하드웨어 적으로 제어할 수 있는 입출력 포트가 2개 뿐입니다. gpio0 번 단자와, gpio2 번 단자 두 개여서 LED를 두 개만 제어할 수 있는 것으로 이해하시면 되겠고요, 그래서 /gpio0/ 또는 /gpio2/ 가 되었고, LED를 켜거나 끄는 동작을 위해 숫자 0 은 LED Off 동작, 숫자 1 은 LED On 동작을 위해 코딩이 되어져 있어요. 그래서, LED 1번의 켜고 끄는 코드는 /gpio0/0 와 /gpio0/1 이며, LED 2번의 켜고 끄는 코드는 /gpio2/0 와 /gpio2/1 로 처리되어 있기 때문에, 2~9까지의 숫자는 별의미 없는 것이지요. 더 많은 명령이나 제어를 원한다면, esp-01 모듈이 아니라 입출력 제어포트가 더 많은 esp8266 D1 이나 , esp8266 D1 Mini 보드, esp32보드 같은 걸 사용하셔야 제어가 가능합니다. 2. 주소 뒤에, 255/255/255 이런 형태로 보내면 각각의 HTML 주소 페이지로 인식하게되어, 원하시는 RGB의 색 조합 값으로 비교처리하기가 어렵게 됩니다. 혹시 "255.255.255" 형태로 해보시거나, 이게 잘 안 된다면, 아예 HTML에서 주로 색을 표현 하는 16진 컬러 표현 방법으로도 한 번 시도해보세요. 예를 들어, #00E817 (연두색) , #FF0000(적색) 이런 형태인데, HTML 컬러 코드와 RGB코드값을 쉽게 변환해서 알려주는 사이트를 알려드릴테니 참고해 보세요. www.hipenpal.com/tool/html-color-charts-rgb-color-table-in-korean.php?nowpage=1&od=k&od=k&ln=ko 예를 들어, 앱인벤터에서 빨간색 버튼을 만들고, 그 버튼을 누르면, /FF0000 형태로 보내서 처리하거나, /gpio2/FF0000 형태로 보내서 직접적인 포트 제어를 하거나 하시면 될 듯 하고요, 당연히 아두이노에서 코드도 변수유형에 맞게 수정하여야 합니다. 제가 말씀드린건, 저도 테스트를 해보지 않았기 때문에, 확실하게 된다라고 말씀드릴 수 는 없기 때문에, 그리고 이리 저리 시간을 들여 이해해가며, 테스트해보셔야 원하시는 동작을 구현할 수 있으니, 알려드린 것을 참고 삼아 고민해보시고, 직접 해보시면 좋을 것 같네요.
@dongwha1574
@dongwha1574 3 жыл бұрын
@@Rasino 답변 감사합니다. 1번에서 제가 이해한건 /gpio0/1 은 명령을 구분하기 위한 구분자일 뿐이고 그에 따라 GP0val 변수에 1, 0을 할당하여 digitalWrite(GPIO0, GP0val)로 실제 ON OFF 한것으로 이해 했습니다. 그래서 스마트폰 어플에서 넘겨주는 변수 구분자인 /gpio0/1을 다양하게 제 마음대로 바꿔도 상관없을것 같아서 바꿔봤는데 실제로 해보니 20개 넘어가니 인식이 잘 안되더라구요ㅠㅠ 그리고 보드는 말씀하신 D1보드를 사용하였습니다. 2번 말씀하신대로 해보겠습니다. 친절한 답변 감사합니다.^^
@mmmmmmmmmj
@mmmmmmmmmj 4 жыл бұрын
안녕하세요 선생님! 선생님이 올려주신 영상을 보고 많은 도움을 받았습니다. 다름이 아니라 궁금한게 있어 여쭤봅니다. 아두이노 우노 보드로 모터를 제어하면서 동시에 nodeMCU dev 1.0을 사용하여 모터에 와이파이 통신으로 명령을 주고자 하는데 가능할까요?
@Rasino
@Rasino 4 жыл бұрын
안녕하세요~ 답변드리면, nodeMCU 보드 자체가 아두이노와 같은 기본적인 역할을 합니다. 기본 IO 입출력 제어가 되기 때문에, 굳이 아두이노를 더 끼워서 복잡하게 하실 필요 없이 nodeMCU만 가지고도 WiFi 연결을 통한 명령어를 전달 받아 모터가 연결된 디지털 포트로 출력을 내보낼 수 있습니다. 또한, 좀더 간단하고 보드 크기도 더 작으면서 WiFi 제어가 가능한 Wemos D1 mini도 있으니 참고해보세요. ^^
@mmmmmmmmmj
@mmmmmmmmmj 4 жыл бұрын
@@Rasino 답변 감사드립니다 ㅎㅎ😄
@박우성-i7t
@박우성-i7t Жыл бұрын
안녕하세요 캡스톤디자인 작품을 만드는데 예제를 참고하는중인 대학생입니다. 다름이 아니라 코드 업로드중 invalid head of packet(0xF0) 이라는 에러가 뜨며 업로딩이 되지 않는데 구글에 쳐도 당최 원인을 모르겠습니다 ㅠㅠ 혹시 도움을 주실수 있으실까요
@Rasino
@Rasino Жыл бұрын
안녕하세요~ 음... 업로드 에러 날 때는 보통 비어 있는 코드를 업로드 하고 리셋, USB 케이블을 분리, 다시 연결, 그리고 LED 깜빡이는 아주 간단한 코드를 넣어서 문제 없이 작동하는지 보시고, 다시 넣고자 하는 코드를 업로드 해 보세요.
@박우성-i7t
@박우성-i7t Жыл бұрын
@@Rasino 답변 감사합니다ㅠㅠ 해결은안됬지만 계속 시도해보겠습니다
@Rasino
@Rasino Жыл бұрын
@@박우성-i7t 펌웨어 문제일 수도 있습니다. esp01을 다른 종류를(판매처가 다른) 사용해 보시거나, esp01에 펌웨어를 게시글 링크 해드린 것 참고해서 업데이트해서 해보세요. 게시글에 있는 펌웨어 업뎃해보시고 다른 펌웨어도 바꿔보고 해보세요. 참고 게시글, : ① rasino.tistory.com/297 ② rasino.tistory.com/299 ③ rasino.tistory.com/300
@user-qc3ms3cv7s
@user-qc3ms3cv7s 3 жыл бұрын
선생님 ESP8266과 아두이노로 동시에 전등을 조작할려면 어떤식으로 하면될까요? 예로 들어 센서등을 기본으로 하되, 8266보드를 통해서 원격으로 동작시키고 싶습니다.!
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 네, 아두이노에는 일반적인 입 출력 포트로 스위치 같은 것으로 입력을 받도록 하고, 그 스위치 신호를 체크해서 전등에 연결된 릴레이에 구동 신호를 주어 제어하면 될 것이고요. 그와 별도로, 본 영상에서 소개드린 내용으로 ESP8266 회로를 구성해서 폰이나 노트북으로 접속해서 영상처럼 ON/OFF 작동 시킬 수 있습니다. LED 대신 220V의 높은 전압을 사용하는 전등을 제어하려면, 릴레이 모듈을 이용해야 합니다. (릴레이 모듈 사용 참고 : rasino.tistory.com/214 ) 관련 내용은 검색해 보면 많이 있을 테니 참고해 보시고요, 지금 현재, esp8266 관련하여 종합적으로 트레이닝 할 수 있는 영상을 제작 중인데, 내용이 많다 보니 시간이 좀 많이 걸리고 있는데요, 영상이 올라가면 참고해 보세요.
@user-rf9lg5ut8w
@user-rf9lg5ut8w 4 жыл бұрын
안녕하세요. 궁금한게 있어서 여쭤봅니다. LED제어가 우선순위 입력제어 인거 같은데 else구문이 엮여있을 때 어느 한 값이 참이면 그 외에 값은 자동으로 0이 되는 건가요?
@Rasino
@Rasino 4 жыл бұрын
안녕하세요~ 우선, 아래 코드를 보시면, 코드실행시 GP0val 값과 GP2val 값은 0으로 초기화 되어 있구요, 그래서 회로의 초기상태는 모든 LED가 꺼져 있는 상태로 시작하게 됩니다. 그리고 기본적으로 앱 상의 터치 버튼 4개 (LED1 On , Off 와 LED2의 On, Off 버튼) 중 하나를 터치하게 되면 if , else if 4개중 하나만 작동하여 해당하는 값이(GP...val =1 또는 0) 저장되도록 코딩이 되어 있습니다. 네, 이해 하신대로 기본적으로 동시에 두 개의 LED는 켜지지 않으며, 한 번에 하나의 LED만 작동 됩니다. 터치를 할 때 마다, 아두이노 메인 함수의 루프가 반복적으로 돌면서 계속 0으로 초기화된 값 들이 기본 적용되기 때문입니다. ... int GP0val=0; int GP2val=0; if (req.indexOf("/gpio0/0") != -1) GP0val = 0; else if (req.indexOf("/gpio0/1") != -1) GP0val = 1; else if (req.indexOf("/gpio2/0") != -1) GP2val = 0; else if (req.indexOf("/gpio2/1") != -1) GP2val = 1; else { Serial.println("invalid request"); client.stop(); return; } ... 그럼 도움되셨길 바랄께요~ ^^
@capksss
@capksss 3 жыл бұрын
안녕하세요. 한가지 궁금한 사항이 있습니다. 전원을 리셋할 때마다 8266 서버 ip가 바뀌는데 이를 매번 확인하고 접속을 시도해야 하는건가요? 고정 ip로 설정할 수 있는 방법이 있나요?
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 음.. 일반적으로 유동IP(DHCP)형태로 주소를 할당 받게 되어서 전원이 On/Off 되면 IP 주소가 바뀔 수 있으세요. IP를 고정시키는 방법은 저도 테스트해보지 못해서, 더 설명을 드리기가 어려운데요, 자료를 검색해보니, 제가 사용한 기존 외에, 와 헤더파일을 추가해서, 여기에 있는 WiFi.config(staticIP, subnet, gateway, DNS) 함수를 이용해서 IP를 고정 시키는 것 같아요. 제가 지금 한창 다른 콘텐츠 작업 중이여서, 직접 확인할 수 없으니 더 정확하게 설명드리기가 어려운데요. 아래 자료를 참고해 보시거나 검색해보시면 자료가 좀 나오니 확인해보시면 좋을 것 같네요. 참고 자료 : answerofgod.tistory.com/671 blog.naver.com/PostView.nhn?blogId=commendo71&logNo=221585076868
@conan6546
@conan6546 Жыл бұрын
1. iptime 공유기에서 해당기기의 맥어드레스를 지정해서 고정IP 입력하고 설정하시면 됩니다. 관리도구>고급설정>네트워크관리>DHCP 서버 설정에서 수동주소입력에서 ip지정하시고 해당기기 맥어드레스 지정하고 설명입력 수동등록 클릭하면 다음부터 그 기기가 켜져서 공유기에 접속되면 위에서 지정한 ip로 지정됩니다. 2. 기기에서 고정 ip설정방법 저는 아두이노 스케치에서 라즈베리파이 피코 W에서 실험했는데 잘 됩니다. 이렇게 하니 공유기에는 나타나지 나타나지 않는데.. 동작은 잘 하더군요... 공유기에 나타나지 않는 것은 공유기가 필요한 모든 값을 다 보내주지 않아서 그런 것 아닌가? 생각합니다. 찾는 것 포기, 리눅스에서도 고정ip설정할 때도 그런 기억이 납니다. 그러나 그 후 다른 것을 참고해서 잘 입력하니 공유기에도 나타나더군요. 이것은 구글에서 하루 검색해서 알아내었는데... 이 분도 ESP..소스를 분석해서 알아내었다고 합니다. 원리는 접속, 연결 끊고, 다시 접속입니다. 자세한 것은 아래 소스 보시고 따라하시면 됩니다. forum.arduino.cc/t/raspberry-pi-pico-w-supported-by-arduino/1008171/7 connectable 글을 찾아 아래쪽으로 내려가다 보면 소스를 올려두었습니다. Hi, yes the latest library from Earle works fine, with several really good examples. One thing that is not made clear is how to assign a static IP address to a socket server on Pico W. As the example wifi server by Earle shows, the code is remarkably similar to that used for the ESP8266 (WEMOS D1 mini), so I bit the bullet and hacked Earles example with my solution for assigning a static IP. I present and example below. If anyone knows of a better method, please let me know. // picoboy.ino // 13th September 2022 Joe Brown. // Basic socket server with static IP address. // Wifi sections based on Earle's example WiFiServer credited below. // Additions to wifi setup were to make IP address static. This follows // my strategy discovered for WEMOS D1 mini (ESP8266). // There may be a better way, but I don't know it. // 'WiFiServer' Placed in the public domain by Earle F. Philhower, III, 2022 // Example php and javascript code is appended as comments at end. #include #ifndef STASSID #define STASSID "Wat2Much" #define STAPSK "N0t3NuF" #define _USE_SERIAL #endif const char* ssid = STASSID; const char* password = STAPSK; int port = 29032; // base-36 'MEG' WiFiServer server(port); // client cmd reception buffer and count uint8_t buf[32]; int count = 0; // I don't like using delay(), preferring to yield whilst waiting for something unsigned long lastmilli = 0; const unsigned long del1000 = 1000; const unsigned long del200 = 200; const unsigned long del10 = 10; void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); WiFi.begin(ssid, password); WiFi.mode(WIFI_STA); #ifdef _USE_SERIAL Serial.printf("Connecting to '%s' with '%s' ", ssid, password); #endif while (WiFi.status() != WL_CONNECTED) { // delay with yield lastmilli = millis(); while ((millis() - lastmilli) < del1000) yield(); #ifdef _USE_SERIAL Serial.println("Connecting.."); #endif } // Now disconnect, setup static IP and re-connect WiFi.disconnect(); IPAddress ip(192,168,1,75); IPAddress gateway(192,168,1,1); IPAddress subnet(255,255,255,0); WiFi.config(ip, gateway, subnet); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { #ifdef _USE_SERIAL Serial.print("."); #endif lastmilli = millis(); while ((millis() - lastmilli) < del1000) yield(); } #ifdef _USE_SERIAL Serial.printf(" Connected to WiFi Connected to server at %s:%d ", WiFi.localIP().toString().c_str(), port); #endif server.begin(); }
@user-wi5sp8zn4j
@user-wi5sp8zn4j 3 жыл бұрын
저항이 없으면 불이 안들어오나여?? 회로 결선하는데 있어 저항이 왜 필요한지 여쭤보고 싶습니다!
@Rasino
@Rasino 3 жыл бұрын
5:44 여기 회로를 보면, LED에 연결된 저항이 있습니다. 저항의 역할은 기본적으로 전류의 흐름을 천천히(시간대비 적은 양이) 흐르도록 제어하여 LED 같은 부품을 보호하거나 회로가 합선 되지 않도록 보호합니다. LED의 경우 전류의 흐름을 적절히 방해시켜줄 수 있는 저항 성분이 없는 부품이어서, 만약 5V 전압이 지속적으로 흐를 경우, LED가 손상을 입을 수 있기 때문에 100옴~470옴 사이의 저항을 연결해서 사용하게 됩니다. 다만, 여기서는 esp-01 모듈에서 나오는 출력은 3.3V 아래 정도이기에 저항을 달지 않아도 장시간 켜지는 경우가 아니라면 크게 문제는 없을 것으로 보이네요. 그 외에, 1K옴 3개를 연결해 놓은 부분은, esp-01모듈에 공급해야 하는 전원인 3.3v를 공급해 주기 위해 , 아두이노의 5V 출력을 2/3 지점으로 연결하여 (5V의 3분의 2 값은 3.3v) , esp-01의 vcc 전원으로 연결해 준 것입니다. 비록, 아두이노에 3.3V 출력 단자가 있어 이 것을 연결하면 되지만, 아두이노에서 3.3v 출력 단자는 특히 가격이 저렴한 호환 보드의 경우 출력되는 전류량이 낮거나 약해서 esp-01이 제대로 작동하기 힘든 경우들이 있기 때문에, 안전한 동작을 위해 저항을 연결하여 조치한 것이에요. 그렇기 때문에, 500옴 미만의 너무 낮은 저항만 아니라면, 2/3 분배를 해 줄 수 있는 다른 저항 값 조합을 이용해도 됩니다. (예, 2k옴 3개를 연결하거나, 1k옴 1개와 2k옴1개를 연결 등등)
@user-wi5sp8zn4j
@user-wi5sp8zn4j 3 жыл бұрын
라즈이노님 esp8266 wife 모듈로 앱인벤터를 통해 led를 직접 on off 하는 시스템이 아닌 led등에서 불빛이 들어왔을때 앱인벤터에 xx이 없습니다 같은 알림 메세지를 출력하고 싶은데 아두이노가 처음이라 너무 어려워 도움을 받고 싶습니다 ㅜㅜ
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 현재 질문주신 부분은 직접코드를 짜보고 테스트해봐야하고 현재 설명을 드릴수 있는 상황이 아니어서, 개념적으로만 설명드려볼께요. LED 불빛이 들어 오고 안 오고는 사람의 눈을 통해 직접확인 되는 부분으로는 제어를 할 수 없기 때문에, 불이 들어 왔을 때(혹은 꺼졌을 때) 아두이노에 입출력이 변화되는 부분이나, 그런 제어신호가 나가는 부분에서 특정 변수를 만들어 True/False 값을 넣어두고, 앱인벤터에서는 타이머 블럭과 함께 주기적으로 해당 변수의 값을 체크해서 True이면 불이 켜진 것으로 Label 블럭에 글자나 , 이미지블럭에 LED가 켜진 이미지를 표시하고, False이면 불이 꺼진 것으로 판단하고 Off 글자나, LED가 꺼진 이미지를 바꾸어 표시해주는 식으로 하면 될 것 같네요. 블럭구성이 단순하지만은 않으니 구글링으로 여러번 검색해서 관련부분을 찾아보세요. 직접 확인시켜드리는 점에는 어려움이 있으므로 양해 바라며, 추후에 기회가 된다면, 한번 다루어 볼 생각은 있으나, 현재 다른 작업 예정이 많아 장담은 못드리는 부분 양해 바랍니다...
@user-wi5sp8zn4j
@user-wi5sp8zn4j 3 жыл бұрын
답변 감사합니다!! 영상 보면서 배운것도 많고 열심히 공부하고 있습니다 좋은 영상으로 도움주시는거에 대해서 다시 한번 감사드립니다!!
@Rasino
@Rasino 3 жыл бұрын
@@user-wi5sp8zn4j 네^^ 이렇게 댓글 달아주시니 저 또한 감사드리며 앞으로의 영상에 좋은 에너지가 되는 듯합니다. 비록 작업과 편집과정이 정말 길고 때론 지칠 때도 많지만, 이런 좋은 말씀으로 힘내어 봅니다~ 그럼, 오늘 하루도 좋은 하루 되세요~ )^^(
@user-or6fk2lq4h
@user-or6fk2lq4h 4 жыл бұрын
안녕하세요 만들어보는 중에 문제 있어서 여쭈어봅니다 LED 두개는 정상적으로 작동합니다. 그러나 gpio0/2 is now HIGH/LOW 표시가 누르는 즉시 바뀌지않고 1~2분 정도 걸립니다 반응을 빠르게 하고 싶습니다...
@user-or6fk2lq4h
@user-or6fk2lq4h 4 жыл бұрын
그리고 동작 반복을 하다보면 error 1101 경우가 있는데 왜 그런지 궁금합니다
@Rasino
@Rasino 4 жыл бұрын
안녕하세요~ 글세요... 그런 경우는 저도 처음 보는 거라서 다른 정황을 더 살펴봐야 원인을 알 수 있겠네요.
@Rasino
@Rasino 4 жыл бұрын
네, error 1101에러의 경우는 esp-01 모듈이 할당받은 주소가 아닌 주소로 신호(LED버튼 터치)를 전달 할 경우 나타나게 되는데요, (회신 응답이 없을 경우에 이런 에러 메시지가 뜨게 됩니다) esp-01이 공유기로 부터 할당 받는 주소가 한 번씩 바뀔 수 있고, 주소 입력창에 오타가 나거나 할 때, 나타나게 되구요, 그리고, 주소가 일치하지 않을 때, 눌렀던 것에 대한 응답이 뒤늦게 피드백 되어 폰 화면에 나타납니다. 그러니까, 주소가 안 맞는 상황에서 LED가 안 켜진다고 LED 버튼을 계속 몇 번 누르게 되면 누른 숫자 만큼 error 1101 표시가 뒤늦게 순차적으로 뜨게 되죠. 그래서, 한 두번 이런 에러가 뜨면, 바로 esp-01이 할 당받은 주소를 PC 연결해서 시리얼 모니터 창으로 다시 확인 하시거나, 주소창에 입력이 정확한지 살펴보면 될 것 같네요~ ^^;
@user-or6fk2lq4h
@user-or6fk2lq4h 4 жыл бұрын
@@Rasino 자세히 알려주셔서 감사합니다
@user-hy3ql2mz8r
@user-hy3ql2mz8r 3 жыл бұрын
안녕하세요 선생님 영상 잘 보고 있습니다! 제가 아두이노 와이파이 모듈로 AC모터 전원제어(on/off)와 회전제어(정방향/역방향)를 집이 아닌 밖에서도 원격으로 할 수 있는 어플을 제작하고 싶은데 혹시 앱인벤터로 제작이 가능할까요 ???
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 일단 5V정도의 아두이노의 신호레벨로 높은 전압의 교류 AC모터를 사용하려면, 릴레이 모듈 같은 걸 사용하면 된다는 건 아실것 같구요, 릴레이를 사용한 AC모터 정역제어 회로도는 구글링해 보시면 꽤 있으니 참고하시면 되겠네요. 일단, 제어하는 기본적인 코드는 이 영상에서 소개해드린 LED On/Off 코드와 앱 정도면 해결되실 것 같은데요, 여기서 포인트는 같은 wifi에 속해있지 않은 외부에서의 제어입니다. 외부에서 ESP8266 모듈이 할당받은 IP주소로 접속이 되는 것이 관건인데요, 보통 집에서 만들어 놓은 esp8266회로가 할당받은 IP 주소는 사설 IP여서 외부에서는 이 주소를 인식할 수 없기 때문에 컨트롤 할 수 없게 됩니다. 이게 가능하려면, 집 인터넷의 공인IP 주소로 포트 포워딩을 하면 해결 될 수 있습니다. (단, 통신 사업자 혹은 아파트 등의 통신장비 상황에 따라 이 작업이 안 될 수도 있습니다). 그래서 esp8266이 할당 받은 사설IP주소가 공인IP로 포트포워딩 되면 제어할 수 있는 원리입니다. 집의 인터넷 공유기 설정에 들어가면 설정할 수 있는데, 저도 직접 테스트는 못해 봤기 때문에 확답은 못드리지만, 가능한 것으로 알고 있습니다. 그 외의 방법으로는 , 이러한 ioT 서비스제공을 위해 이미 인터넷으로 접속이 되는 공인IP주소로 된 서버 서비스를 이용하는 방법이 있습니다. 대표적으로는 블링크(Blynk) 라는 서비스가 있는데요, 스마트폰의 전용 메이킹 앱과 자체 서버를 통해서 구현하기 때문에, 공인된 IP로 자신이 만든 기기에 접속이 가능합니다. 유튜브나 구글링하시면 관련 영상이 제법나오니 참고해 보세요. 앱관련 코딩도 앱인벤터에서 처럼 고민해서 할 필요 없이, 버튼 블럭만 가져다 놓으면, 내부 코드 처리는 블링크앱과 서버에서 자체적으로 처리가 되어, 아두이노 코드에서도 별로 코드를 짜넣을게 없이 매우 편하게 되어 있습니다. ( 참고로 간단한 앱 화면 구성은 비용이 발생하지 않지만, 구성이 많아지거나하면 일부 서비스 비용이 필요할 수 있어 한 번 직접 확인해 보세요. 가입비용 없고, 앱만들때 기본 2000 에너지를 무료로 제공해주기 때문에, 간단한 앱정도는 무료로 구성할 수 있습니다. 만약, 여러개의 앱을 만들거나 좀더 복잡한 앱으로 구성할 때도, 앱 구성요소를 더 추가할 수 있는 에너지를 몇 천원이면 살 수 있기 때문에 비용 부담도 크지 않아 최근에 인기가 좋은 서비스인것 같네요.) Blynk 활용 관련해서는 영상제작 계획이 있는데, 작업시간이 좀 걸리겠지만, 나중에 참고하셔도 좋을 것 같네요. 우선 이미 올려져 있는 타 유튜버들의 영상들이 많으니 참고해 보세요~
@user-hy3ql2mz8r
@user-hy3ql2mz8r 3 жыл бұрын
@@Rasino 선생님 아주 자세한 답변 정말 감사드립니다! 제가 비전공자라서 이 쪽에 무지한 상태입니다 그래서 선생님께서 하시는 말씀이 완벽히 이해는 되지 않지만 정리해보자면 1. 어플리케이션 제작 자체의 경우 위 영상의 ip대신 포트포워딩을 한 ip를 이용하는 것만 제외하면 나머지 제작은 위 영상을 참고하면 앱 인벤터로 제작이 가능하다(제가 아직 릴레이 모듈에 대한 원리를 숙지하지 못했습니다.. 아두이노는 크게 3.3V와 5V 출력신호를 내는 걸로 나뉜다고 알고 있습니다만 AC모터를 제어하기 위해선 5V 아두이노와 릴레이 모듈을 사용해야 한다고 이해하면 될까요?) 2. 위의 포트포워딩 ip를 이용하는 방법 외에도 Blynk라는 서비스를 이용하여 회로구성 및 어플 제작하는 방법도 있다. 사실 저에게 있어 회로구성도 중요하지만 어플리케이션 제작에 중점을 두고 질문을 드린거라서 원할히 이해하지 못한 점 죄송합니다. 위에 질문드린 대로 어플리케이션 제작 자체는 LED 제어 어플과 비슷하게 제작한다 라고 이해하면 될까요?? 모터 전원 제어는 위와 같은 원리라는걸 이해했습니다 그렇다면 이 때 정회전 역회전 제어에 대한 코딩도 위와 비슷한 원리로 제작을 하면 되는건지 여쭤보고 싶습니다! 다시 한 번 친절한 답변 정말 감사드립니다 선생님
@Rasino
@Rasino 3 жыл бұрын
@@user-hy3ql2mz8r 네, 1번과 2번 모두 정확하게 이해를 잘 하셨습니다. 릴레이 모듈은 직접적인 연결이 아니어서 작은전압으로 큰전압을 제어할 수 있는 것이 포인트입니다. 코일의 전자석의 원리로 작은 전압으로 큰전압을 연결시켰다 끊었다 해줄수 있는 스위치 역할을 해주는 모듈인데, 릴레이모듈을 따로 검색해서 참고해보세요. (릴레이 모듈 참고 : smartstore.naver.com/domekit/products/314941778 이런 모듈 같은 거 사용하면 될거예요. 입력전원 5V 넣어 주고, 4~5V의 신호 레벨로, 최대 AC 250V, 10A 까지의 전류를 연결 또는 해제 시켜주는 릴레이에요. ) 모터의 정역 제어 원리는 비슷하나 DC모터의 결선과 AC모터의 연결 사용방법이 조금 다르니 AC모터의 정역제어 부분을 따로 검색해서 참고하셔서, 릴레이 모듈까지만 회로를 잘 구성해서 문제없이 연결된다면, 릴레이 이전 부분은 앞서 설명된 내용과 같으니 제어가 될 거예요.
@user-hy3ql2mz8r
@user-hy3ql2mz8r 3 жыл бұрын
@@Rasino 늦게 봐서 죄송합니다 말씀해주신 릴레이 모듈에 대해선 좀 더 검색해보겠습니다 설명 감사드립니다 선생님 혹시 어플 제작하다가 모르는 부분이 생기면 질문을 드려도 될까요 ??
@Rasino
@Rasino 3 жыл бұрын
@@user-hy3ql2mz8r 안녕하세요~ 우선적으로 바로 즉답이 가능하다면 답변을 드릴 수 있겠지만, 정확한 답변을 위해 만약 확인해야하거나, 테스트를 해봐야 하는 내용에 대해서는, 죄송하지만 답변이 어렵다는 점 양해드립니다. 현재 작업 하고 있는 일들이 많고 시간이 많이 걸려 수면 부족도 겪고 있어, 애로 사항이 많은 관계로 양해말씀드립니다. ㅠㅠ 그럼, 화이팅 하시고 오늘도 좋은 하루 되세요~ ^^;
@이승환-k8q
@이승환-k8q 3 жыл бұрын
학교에서 공유와이파이기기라 패스워드가 없는경웨 어떻게하나요??
@Rasino
@Rasino 3 жыл бұрын
안녕하세요~ 패스워드가 없는 경우는 const char* password="" 이렇게 스페이스(공백)없이 쌍따옴표 두 개로 입력해 보세요. 이런 경우는 테스트를 못해봐서, 이래 저래 몇 번 입력 테스트를 해보셔야 할 것 같아요.
@Rasino
@Rasino 3 жыл бұрын
※ 플래시 스위치 및 리셋 스위치의 기능과 역할, 만약, 스위치가 없을 경우 해결 방법에 대해 설명 드립니다. - 플래시 스위치의 역할은 PC에서 코드를 컴파일 한 것을 esp-01모듈의 플래시 메모리 영역으로 업로드 시키기 위해 사용한 스위치인데요, 이 스위치가 연결된 GPIO 0번 단자가 GND(그라운드)에 연결되어 있는 상태여야 코드가 업로드 가능한 상태가 되며, 코드 업로드 완료 후에는, 메모리에 올려진 코드로 esp-01모듈이 동작하기 위해서는 GPIO 0번 단자를 GND 연결 해제하여야 합니다.(스위치 누르지 않음) , 그런데 코드 업로드 완료 후에는, LED1번을 연결해야 하므로, GPIO 0번 단자에 연결된 스위치를 빼내고 LED1번을 연결하게 됩니다. - 리셋 스위치는 코드 업로드 전과 후에 한 번씩 눌러주어, esp-01 모듈을 재부팅? 하는 역할을 하는 것으로 이해하시면 됩니다. 이렇게 코드 업로드 전 후로 한 번씩 눌러 주어야, 코드 업로드가 원활히 진행되고, 업로드 완료 후에 다시 눌러주는 것은, 업로드 된 코드가 적용되도록하기 위함입니다. - 스위치의 물리적 특성은 별거 없고 아주 간단합니다. 전기적으로 두 선을 누르면 연결되고, 누르지 않으면 연결해제 시킵니다. 따라서, 스위치 부품이 없을 때는, 그냥, 전선이나 점퍼선으로 연결했다~, 떨어뜨렸다~ 하시면 됩니다. (부품 없어도 됩니다.)
Шок. Никокадо Авокадо похудел на 110 кг
00:44
1ОШБ Да Вінчі навчання
00:14
AIRSOFT BALAN
Рет қаралды 6 МЛН
Full video - Data recovery from a dead MicroSD card
16:01
DevelopAKR
Рет қаралды 240 М.
3 engineers race to design a PCB in 2 hours | Design Battle
11:50
Predictable Designs
Рет қаралды 135 М.
아두이노 예제 14 블루투스로 LED 제어하기
12:14
코딩런 IT [Codingrun IT]
Рет қаралды 39 М.
Hacking Windows TrustedInstaller (GOD MODE)
31:07
John Hammond
Рет қаралды 624 М.
Шок. Никокадо Авокадо похудел на 110 кг
00:44