Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions esp32-micropython/examples/ble/ble_led-controller.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
from time import sleep
from machine import Pin
from util.button import Button

led_button = Button(0, release_value=1)

import util.ble.blesync_client
import util.ble.blesync_uart.client

built_in_led = Pin(2, Pin.OUT)


@blesync_uart.client.UARTService.on_message
def on_message(service, message):
print(message)


client = blesync_client.BLEClient(blesync_uart.client.UARTService)


def connect():
while True:
for device in blesync_client.scan():
if device.adv_name == 'octopus_led':
services = client.connect(addr_type=device.addr_type, addr=device.addr)
return services[blesync_uart.client.UARTService][0]


uart_service = connect()

built_in_led.on()
sleep(1)
built_in_led.off()


@led_button.on_press
def on_press_top_button():
uart_service.send(b'!B516')


@led_button.on_release
def on_release_top_button():
uart_service.send(b'!B507')
84 changes: 51 additions & 33 deletions esp32-micropython/examples/ble/ble_led.py
Original file line number Diff line number Diff line change
@@ -1,33 +1,51 @@
# octopusLAB - main.py - BLE and BlueFruit mobile app.
## uPyShell:~/$ run examples/ble/ble_led.py

print("---> BLE and BlueFruit mobile app. - led")
print("This is simple Micropython example | ESP32 & octopusLAB")

from util.shell.terminal import getUid
uID5 = getUid(short=5)

from time import sleep
from util.led import Led
led = Led(2)

led.blink()
sleep(3)
led.blink()

from util.ble import bleuart
import util.ble.bluefruit as bf

def on_data_received(connection, data):
print(str(data))
if data == bf.UP:
led.value(1)
if data == bf.DOWN:
led.value(0)


devName = 'octopus-led-'+uID5
print("BLE ESP32 device name: " + devName)

uart = bleuart.BLEUART(name=devName, on_data_received=on_data_received)
uart.start()
print("---> BLE-BLE led controller")

from util.shell.terminal import getUid
uID5 = getUid(short=5)

from time import sleep
from util.pinout import set_pinout
pinout = set_pinout()

from util.rgb import Rgb
ws = Rgb(pinout.PWM3_PIN)
ws.simpleTest()


from util.led import Led
led = Led(2)

from machine import Pin
import util.ble.blesync_server
import util.ble.blesync_uart.server


@blesync_uart.server.UARTService.on_message
def on_message(service, conn_handle, message):
if message == b'!B516':
led.value(1)
elif message == b'!B507':
led.value(0)


service.send(conn_handle, message)


class Connections:
_connections = []

@blesync_server.on_connect
@classmethod
def on_connect(cls, conn_handle, addr_type, addr):
cls._connections.append(conn_handle)
built_in_led.on()

@blesync_server.on_disconnect
@classmethod
def on_disconnect(cls, conn_handle, addr_type, addr):
cls._connections.remove(conn_handle)
if not cls._connections:
built_in_led.off()


blesync_server.Server.start('octopus_led', blesync_uart.server.UARTService)
33 changes: 33 additions & 0 deletions esp32-micropython/examples/ble/ble_led_bluefruit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# octopusLAB - main.py - BLE and BlueFruit mobile app.
## uPyShell:~/$ run examples/ble/ble_led.py

print("---> BLE and BlueFruit mobile app. - led")
print("This is simple Micropython example | ESP32 & octopusLAB")

from util.shell.terminal import getUid
uID5 = getUid(short=5)

from time import sleep
from util.led import Led
led = Led(2)

led.blink()
sleep(3)
led.blink()

from util.ble import bleuart
import util.ble.bluefruit as bf

def on_data_received(connection, data):
print(str(data))
if data == bf.UP:
led.value(1)
if data == bf.DOWN:
led.value(0)


devName = 'octopus-led-'+uID5
print("BLE ESP32 device name: " + devName)

uart = bleuart.BLEUART(name=devName, on_data_received=on_data_received)
uart.start()
Loading