Skip to content

TEAM DEVELOPMENT SETUP

truonghoangduy edited this page Feb 17, 2022 · 8 revisions

Here are some tips for you guys went setting up your local development

FACT

Our app has a complex system between hardware and software divisions. so we have to choice whether an easer way to develop our own domain

1. Mobile division

still in working process

if you want to connect to BLE board, camera you has to use real device

  1. UI side mobile simulator
  • This is for local UI/UX development, you will be using custom Flutter Core_Mock architecture for doing it (without BLE and camera)
  1. Integration side real mobile hardware
  • This part you need to have BLE board has ours firmware install by the IoT team
  • Flutter app is already pre-config BLE GATT profile to read custom BLE UUID here

2. IoT division

Flutter application as an testing suite for IoT BLE is hard-complex to develop "within our develop resource and time"

I suggest using [LightBlue® — Bluetooth Low Energy] IOS | Android [Window,Mac] also avablie if your machine has BLE

We're using a custom BLE GATT profile which means the UUID will be hard to look at but you guys can base on our documentation here where we define our BLE GATT services, characteristics.

gatt_profile:
  - BLE_SERVICE_THERMOMETER_UUID: "00000B00-5226-4AE0-8977-656FD3C42DA2"

When you get familiar with LightBlue, you will be able to know that every time the BLE board notify LightBlue will get it. But the format is kind of a mess so you have to **decode **it I suggest using a tool on the website http://www.unit-conversion.info/texttools/ascii/ to decode and see the value has been transfer over BLE protocol

BLE GATT:
 BLE_SERVICE_THERMOMETER_UUID: "00000B00-5226-4AE0-8977-656FD3C42DA2"
data:
 051 051 (ascii) => String: => 33 (ascii decode to text)
meaning: Data from THERMOMETER is 33 

Dont have board sensor "problem solved"

What I would do when i don't have sensor to connect to BLE Board

You will use BLE_SENSOR_EMULATOR in short it allows your machine (PC) talk to BLE Board (ESP32) over serial and send data over BLE GATT. BLE_SENSOR_EMULATOR are located here is a Python script with serial comunication

step to use

  1. Config your machine PORT in the Python script here
  2. hit enter :>
  3. base on while loop it will call BLE Board to send each package, you could re-configure to your liking

=> if you still on LightBLue you will see the data been notify

sequenceDiagram
    participant IoT
    participant Mobile
    rect rgb(100, 159, 100)
    IoT->>Mobile:devlopemnt_enviorment
    alt is_ble
        Note over IoT,Mobile:real hardware mobile
    else
        Note over IoT,Mobile:mobile emulator for UI
    end
    end
Loading
Clone this wiki locally