「Arduino가 무선으로 접속할 수 있으면 좋지만…」라고 생각하는 분에게
그러나, 이 연결되는 질문 부분이 넥이 되어, 실현할 수 없는 일이 있었습니다.
예를 들어, 맥박의 시각화. 맥박 센서는 몇 종류 Arduino에 있기 때문에, 정도로 접속해 버리면 어떻게 든 됩니다. 그렇지만, 대상자가 움직이는 경우, 배선으로 연결해 두는 것은 되지 않습니다.
무선으로 정보를 보내주는 "Arduino 같은 것"이 있으면 ...
그런 당신에게 꼭 소개하고 싶다! 그런 보드가 있습니다!
ESP-WROOM-02 개발 보드 (ESPr Developer)
전시 : 스위치 과학
가격 무려 2,580엔!
저렴!
그런데, 어떻게 무선으로 접속하는가 하면, 이런 느낌입니다.
SoftAP 모드에서는 ESP-WROOM-02 자체가 액세스 포인트가 됩니다.
즉, 프로그램을 작성한 ESP-WROOM-02를 모바일 배터리에 연결하는 순간 Wifi가 날아갑니다.
PC측에서는, 이 액세스 포인트에 접속하는 것만으로 OK입니다.
StationMode는 다른 Wifi를 통해 연결합니다. 이쪽이 이미지하기 쉽습니까.
보시다시피, 점퍼 와이어를 삽입하는 구멍이 있습니다.
이 근처도 Arudino와 같기 때문에 친숙한 곳입니다.
크기는 이쪽의 이미지를 봐 주시면 알 수 있듯이, 작습니다.
(겹치는 흰색 상자와 같은 것은 센서 측 장치입니다.)
모바일 배터리로부터의 급전에서도 움직였습니다.
실용 예
모바일 배터리로부터의 급전으로 ESP-WROOM-02를 구동(액세스 포인트 모드). 맥박 센서의 정보를 TOUT에서 읽고 UDP로 날아갑니다.
시각화는 친숙한 vvvv입니다.
구현에 대해서는, 이쪽의 정보에 따라 실시했습니다.
ESP8266을 사용하여 Arduino에서 네트워크에 연결해보십시오.
ESP8266에 Arduino 스케치를 쓰고 UDP 데이터 송수신
(필자의 이시이 감사합니다.)
아날로그 센서 값을 TOPUT 핀에서 가져오기에는 약간 요령이 있어 이쪽을 참고로 했습니다. h tp : 작은 m / 아즈사 9 / MS / 26 그림 74 그림 4 그림 0d5773 등 9C41
또, 펌웨어 갱신을 수색으로 했습니다만, 메모리의 번지 지정등이 있어, 왜도 모르면 하면 기동조차 하지 않게 되어 걸었습니다. 그런 때, 이 사이트에 구원 되었으므로, 만약 같은 일로 곤란하면 보면 좋을지도 모릅니다.
h tp // 네무이씨. bぉg. 바. 네. jp/? 예d=215341
결국 내가 사용한 코드는 여기.
ESP#include <ESP8266WiFi.h>
#include <WiFiUDP.h>
extern "C" {
#include "user_interface.h"
}
//Access Point Setting
const char *APSSID = "ESP_WROOM_02";
const char *APPASS = "hoge4009";
unsigned int localPort = 8888;
WiFiUDP UDP;
char packetBuffer[255];
static const char *udpReturnAddr = "192.168.4.2";
static const int udpReturnPort = 8889;
void setup() {
Serial.begin(115200);
Serial.println();
WiFi.softAP(APSSID, APPASS);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
UDP.begin(localPort);
}
void loop() {
int packetSize = UDP.parsePacket();
if (packetSize) {
int len = UDP.read(packetBuffer, packetSize);
//終端文字設定
if (len > 0) packetBuffer[len] = '\0';
uint ADC_Value = 0;
ADC_Value = system_adc_read();
Serial.println("=======ANALOG " + String(ADC_Value) + "ANALOG ");
String str = String(ADC_Value) ;
int a = str.length();
char msg[a+1];
str.toCharArray(msg, a+1);
UDP.beginPacket(udpReturnAddr, udpReturnPort);
UDP.write(msg,a+1);
UDP.endPacket();
}
}
※기억이 맞으면, PC측으로부터 포트 8888에 UDP로 「1」을 날려 줄 필요가 있습니다.
그렇다고 하는 것은 , 이 처리를 넣지 않고 , 전원 넣으면 바로 UDP 달리게 해 주면 보드 자체가 잘 움직이지 않기 때문입니다.
좋은 vvvvLife를!
Reference
이 문제에 관하여(「Arduino가 무선으로 접속할 수 있으면 좋지만…」라고 생각하는 분에게), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Sadalsuud/items/f127ca59574da4fca9d8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
모바일 배터리로부터의 급전으로 ESP-WROOM-02를 구동(액세스 포인트 모드). 맥박 센서의 정보를 TOUT에서 읽고 UDP로 날아갑니다.
시각화는 친숙한 vvvv입니다.
구현에 대해서는, 이쪽의 정보에 따라 실시했습니다.
ESP8266을 사용하여 Arduino에서 네트워크에 연결해보십시오.
ESP8266에 Arduino 스케치를 쓰고 UDP 데이터 송수신
(필자의 이시이 감사합니다.)
아날로그 센서 값을 TOPUT 핀에서 가져오기에는 약간 요령이 있어 이쪽을 참고로 했습니다. h tp : 작은 m / 아즈사 9 / MS / 26 그림 74 그림 4 그림 0d5773 등 9C41
또, 펌웨어 갱신을 수색으로 했습니다만, 메모리의 번지 지정등이 있어, 왜도 모르면 하면 기동조차 하지 않게 되어 걸었습니다. 그런 때, 이 사이트에 구원 되었으므로, 만약 같은 일로 곤란하면 보면 좋을지도 모릅니다.
h tp // 네무이씨. bぉg. 바. 네. jp/? 예d=215341
결국 내가 사용한 코드는 여기.
ESP
#include <ESP8266WiFi.h>
#include <WiFiUDP.h>
extern "C" {
#include "user_interface.h"
}
//Access Point Setting
const char *APSSID = "ESP_WROOM_02";
const char *APPASS = "hoge4009";
unsigned int localPort = 8888;
WiFiUDP UDP;
char packetBuffer[255];
static const char *udpReturnAddr = "192.168.4.2";
static const int udpReturnPort = 8889;
void setup() {
Serial.begin(115200);
Serial.println();
WiFi.softAP(APSSID, APPASS);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
UDP.begin(localPort);
}
void loop() {
int packetSize = UDP.parsePacket();
if (packetSize) {
int len = UDP.read(packetBuffer, packetSize);
//終端文字設定
if (len > 0) packetBuffer[len] = '\0';
uint ADC_Value = 0;
ADC_Value = system_adc_read();
Serial.println("=======ANALOG " + String(ADC_Value) + "ANALOG ");
String str = String(ADC_Value) ;
int a = str.length();
char msg[a+1];
str.toCharArray(msg, a+1);
UDP.beginPacket(udpReturnAddr, udpReturnPort);
UDP.write(msg,a+1);
UDP.endPacket();
}
}
※기억이 맞으면, PC측으로부터 포트 8888에 UDP로 「1」을 날려 줄 필요가 있습니다.
그렇다고 하는 것은 , 이 처리를 넣지 않고 , 전원 넣으면 바로 UDP 달리게 해 주면 보드 자체가 잘 움직이지 않기 때문입니다.
좋은 vvvvLife를!
Reference
이 문제에 관하여(「Arduino가 무선으로 접속할 수 있으면 좋지만…」라고 생각하는 분에게), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Sadalsuud/items/f127ca59574da4fca9d8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)