Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    lopy4 Bluetooth low energy receiving data

    Scheduled Pinned Locked Moved LoPy
    3 Posts 2 Posters 44 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z Offline
      zhongyuan ren
      last edited by

      I am a beginner in lopy
      I am trying to send pysense data from BLE to my Android phone.
      But I cannot receive my data, my code is as follows

      from network import Bluetooth
      import pycom
      import time
      from LIS2HH12 import LIS2HH12
      from pysense import Pysense
      
      
      
      py = Pysense()
      
      pycom.heartbeat(False)
      bluetooth = Bluetooth()
      bluetooth.set_advertisement(name='WiPy', service_uuid=b'1234567890123456')
      
      def conn_cb (bt_o):
          events = bt_o.events()
          if  events & Bluetooth.CLIENT_CONNECTED:
              print("Client connected")
              pycom.rgbled(0x007f00) # green
          elif events & Bluetooth.CLIENT_DISCONNECTED:
              print("Client disconnected")
              pycom.rgbled(0x7f0000) # red
      
      li = LIS2HH12(py)
      apin = str(li.roll())
      
      
      bluetooth.callback(trigger=Bluetooth.CLIENT_CONNECTED | Bluetooth.CLIENT_DISCONNECTED, handler=conn_cb)
      
      bluetooth.advertise(True)
      
      srv1 = bluetooth.service(uuid=b'1234567890123456', isprimary=True)
      
      chr1 = srv1.characteristic(uuid=b'ab34567890123456', value=25)
      
      char1_read_counter = 0
      def char1_cb_handler(chr):
          global char1_read_counter
          char1_read_counter += 1
      
          events = chr.events()
          if  events & Bluetooth.CHAR_WRITE_EVENT:
              print("Write request with value = {}".format(value()))
          else:
              if char1_read_counter < 3:
                  print('Read request on char 1')
              else:
                  return 'ABC DEF'
      
      char1_cb = chr1.callback(trigger=Bluetooth.CHAR_WRITE_EVENT | Bluetooth.CHAR_READ_EVENT, handler=char1_cb_handler)
      
      srv2 = bluetooth.service(uuid=1234, isprimary=True)
      
      chr2 = srv2.characteristic(uuid=4567, value=0x1234)
      char2_read_counter = 0xF0
      def char2_cb_handler(chr):
          global char2_read_counter
          char2_read_counter += 1
          if char2_read_counter > 0xF1:
              return char2_read_counter
      
      char2_cb = chr2.callback(trigger=Bluetooth.CHAR_READ_EVENT, handler=char2_cb_handler)
      
      while True:
          time.sleep(10)
          dy = round(apin)
          print(dy)
          if char1_read_counter:
              chr1.value(dy)
      
      J 1 Reply Last reply Reply Quote 0
      • J Offline
        jcaron @zhongyuan ren
        last edited by

        @zhongyuan-ren what are you connecting/reading with, and happens exactly?

        Z 1 Reply Last reply Reply Quote 0
        • Z Offline
          zhongyuan ren @jcaron
          last edited by

          @jcaron
          Now I just did a test, the value is the voltage
          I am making an APP that cannot accept data. I can see the received data using nrf, but there will be a string of codes in front of it.

          1 Reply Last reply Reply Quote 0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          • 1 / 1
          • First post
            Last post

          Pycom on Twitter

          Pycom