Omron 환경 센서 (2jcie-bl01) 설정을 Broadcaster로 변경하여 광고 패킷에서 정보를 얻는 테스트까지

2686 단어 BluetoothLEIoTBLE

배경



제목대로입니다. 너무 세세한 것은 쓰지 않습니다. 단순히 온도·습도·기압 등의 환경치를 Broadcast 해 주는 BLE 비콘이 필요했기 때문에, 찾아 보면 이것 발견 Weather news 의 OEM품(WxBeacon2)을 구입했습니다. 그러나 초기 설정에서는 (1) 디바이스에 Connect하고 (2) Latest data (Characteristics UUID: 0x3001)를 보러 간다. 즉 여러 대의 비콘이 발견되는 환경에서 움직이려고 하면 모든 비콘에 1회 접속해 데이터를 취하러 가야 한다. 그렇다고는 해도 그 설정 변경 기능은 OMRON씨의 오피셜 어플리에는 없기 때문에 귀찮게나와 오피셜 문서를 읽어내면서 Adv settings를 어떻게든 괴롭혀, 값의 취득까지 할 수 있도록 했습니다.

필요한 것


  • BLE Scanner ~ BLE 디바이스 개발자 필휴의 신 앱입니다. iOS/Android 둘 다 있습니다.
  • Omron 환경 센서
  • 상품 페이지
  • 통신 사양 매뉴얼 Environment Sensor 2JCIE-BL01 Communication Interface Manual v1.3


  • 설정을 변경해 봅시다.


  • Env (EnvSensor-BL01)라는 BLE 장치를 찾아 Connect
  • CUSTOM SERVICE의 다섯 번째에서 여덟 번째 문자가 3040 인 열기 (2.4. 매개 변수 서비스에 해당)
  • CUSTOM CHERACTERISTIC의 다섯 번째에서 여섯 번째 문자가 3042 인 것을 찾습니다 (2.4.2 ADV 설정에 해당)
  • W (Write)를 누르고 ADV 설정을 ByteArray로 씁니다. 이번에는 General Broadcaster 2의 0x04로 설정하고 싶었으므로 다음 문자열을 썼습니다.
    0808A000000A0032 04 00
  • R (Read)를 눌러 설정이 기록되었는지 확인
  • 만약 연결을 끊고 다시 연결합니다. 장비 이름이 EP(EP-BL01)로 바뀝니다

  • 광고 패킷을 살펴보십시오. OS에 따라 미묘하게 광고 패킷의 표시 범위가 다르므로 주의하십시오. 광고 패킷의 내용은 3.5. (E) Sensor ADV 2 (ADV_IND)가 사양이 됩니다.
  • Android의 경우
    19, 20번째 문자가 Temp High, 17, 18번째 문자가 Temp Low입니다.

  • iOS의 경우
    9,10번째 문자가 Temp High, 7,8번째 문자가 Temp Low입니다.



  • 주워지고 있는 자리수가 다른 것은 잘 모릅니다만, 어느 경우도 이 경우 f40b(Little endian이므로 바이트를 뒤집을 필요가 있으므로 주의!)를 10진으로 되돌린 3060→30.6℃가 측정치에 됩니다.

    자아는 이것을 Cordova에서 주워 어느 mBaaS에 던질 뿐. Enjoy!

    덧붙여서 같은 느낌으로 측정 파라미터를 만지는 것도 가능합니다. 자신은 거치지 않고 가방에 놓아 놓은 용도로 사용할 예정입니다만, 아무래도 급격한 데이터 변화를 하지 않도록 초기 설정되어 있는 것 같았기 때문에 다소 조정했습니다.

    좋은 웹페이지 즐겨찾기