Skip to content

sam0910/narmi000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 개발환경 구축

  • Clone this repository again, please refer pymakr.conf file.

  • Install Pymakr vscode extension - version 1.1.18

  • Modify pymakr.conf

"address": "COM6",
  • Click X Pymakr Console, now you can see REPL print-outs,

  • Then CTRL + C for interrupting device running processes.

  • Modify any of source file,

  • then click All Commands - Pymakr > Upload Project(bottom of VSC Code status line ).

  • Reset Device, boot.py and main.py will automatically running.

🚀 테스트용 PWA 앱

  • React v18, Node v18.18.2 환경 입니다.

  • Shadcn UI 적용된 vite.js 패키지 입니다.

narmi000/REACT> npm install
narmi000/REACT> npm run dev

🚀 펌웨어 업데이트

  • src/app 아래 파일들만 기기로 업데이트 됩니다.

  • 기기전원 ON 후 즉시, 버튼 2개 누르고 있으면, 현재 깃헙 레포지토리 버젼(새로운 버젼 발견시)으로 펌웨어 업데이트 진행합니다.

  • WiFi 연결 시도 20~30초 소요되니 잠시 기다려 주세요.

    업데이트 모드 진입시,

    1. 주변 Wifi 중 와이파이 비번이 src/app/common.py - INITIAL_WIFI_PASSWORD(12345678)인 AP로 연결 시도.
    2. src/app/secrets.py 내의 지정된 Wifi로 접속 시도.
    WIFI_SSID = "KT_GiGA_xxxxx"
    WIFI_PASSWORD = "4bbbxxxxx"
    
    1. Wifi 연결 후 Github repo release version 체크 후 높은 버젼 발견시 src/app 아래 파일을 기기로 업데이트

🚀 파일 설명

ENABLE_SLEEP = False  # Enable sleep mode
ADVERTIZING_LIMIT_MS = const(10_000)  # Advertising time in ms
SLEEP_TIME_S = const(5)  # Sleep Time in seconds
NO_INTERACTION = const(12_000)  # Time in ms to go to sleep if no interaction
INDICATE_TIMES = const(2)  # Number of times to indicate the sensor value per connection
### 펌웨어 관련은 [Micropython 관련문서](https://docs.micropython.org/en/latest/) 참고 부탁드립니다.

🚀 Bluetooth Characteristic

  • Temperature : 0x2A6E (signed 16-bit, little endian)

  • Humidity : 0x2A6F (unsigned 16-bit, little endian)

  • Distance : 0x2A5B (unsigned 16-bit, little endian)

  • Interval : 0x2A24 (unsigned 32-bit, little endian)

  • Battery Level : 0x2A19 (unsigned 8-bit)

  • Save Calibration data : 0x2B00 (unsigned 16-bit)

byte[] value = new byte[]{0x01, 0x02, 0x03, 0x04}; // Example byte array

// Unpack temp_calib as unsigned 16-bit
int tempCalibRaw = ByteBuffer.wrap(value, 0, 2).order(ByteOrder.LITTLE_ENDIAN).getShort() & 0xFFFF;
double tempCalib = tempCalibRaw / 100.0;

// Unpack humidity_calib as unsigned 16-bit
int humidityCalibRaw = ByteBuffer.wrap(value, 2, 2).order(ByteOrder.LITTLE_ENDIAN).getShort() & 0xFFFF;
double humidityCalib = humidityCalibRaw / 100.0;

// Print the results
System.out.println("Temperature Calibration: " + tempCalib);
System.out.println("Humidity Calibration: " + humidityCalib);

🚀 Micropython 파일 전송, 관련문서 링크

$ pip install --user mpremote
mpremote connect COM4

윈도우 현재 폴더내의 test.txt 파일을 기기의 /app 폴더로 복사

mpremote cp test.txt :/app

🚀 USB UART

CP2102 모듈 추천 ... 구매링크

Pinmap


About

Narmi BLE Device

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors