Avatar for Andrea

Andrea

Member since May 2019 • Last active Jan 2020
  • 2 conversations
  • 7 comments

Most recent activity

    • 7 comments
    • 461 views
  • in Interfacing
    Avatar for Andrea

    OK, now it works!
    Gordon, allObjects thank you very much!

    For whoever needed, here is the code useful for testing ...

    // Espruino WiFi
    // Web IDE > reset(true);
    
    Serial1.setup(9600, {rx: B7, tx: B6});
    LED2.write(0);
    var WIFI_NAME = "NAME";
    var WIFI_OPTIONS = {password: "PASSWORD"};
    var wifi;
    
    function getString() {
      LED2.write(0);
      require("http").get("http://www.pur3.co.­uk/hello.txt", function(res) {
        var doc = "";
        res.on('data', function(d) { 
          doc += d;
        }); // data
        res.on('close', function(d) {
          doc = doc.substring(0, 5);
          Serial1.println(doc);
          LED2.write(1);
          setTimeout(function (){LED2.write(0);}, 15000);
        }); // close
      }); // get
    };
    
    function onInit() {
      USB.setConsole(1);
      clearInterval();
      wifi = require("Wifi");
      wifi.connect(WIFI_NAME, WIFI_OPTIONS, function(err) {
          if (err) throw err;
          setInterval(getString, 30000);
          getString();
      });
    };
    
    // Web IDE > save();
    // Web IDE > disconnect
    // Connected to battery
    
    // MDBT42Q
    // Web IDE > reset(true);
    
    global.LED2 = D2;
    global.LED2.write(0);
    var count = 0;
    
    function updateBT(wifi) {
      count = count + 1;
      var data = E.toString(wifi + count);
      global.LED2.write(1);
      setTimeout(function (){global.LED2.write(0);}, 6000);
      NRF.setAdvertising({}, {
        name: "TEST",
        manufacturer: 0x590,
        manufacturerData: data,
        showName: true
      });
    };
    
    function onInit() {
      var cmd = "";
      Bluetooth.setConsole(1);
      Serial1.setup(9600, {rx: D8, tx: D6});
      Serial1.on('data', function (wifi) {
        cmd += wifi;
        var idx = cmd.indexOf("\r");
        while (idx >= 0) {
          var line = cmd.substr(0, idx);
          line = line.substring(0, 5);
          line = line.toLowerCase();
          cmd = cmd.substr(idx + 1);
          clearInterval();
          setInterval(updateBT, 15000, line);
          updateBT(line);
          idx = cmd.indexOf("\r");
        };
      });
    };
    
    // Web IDE > save();
    // Web IDE > disconnect
    // Connected to battery
    
  • in Interfacing
    Avatar for Andrea

    Thanks allObjects, i can't wait to try it!

    :-)

  • in Interfacing
    Avatar for Andrea

    Hi Gordon!
    As soon as I have a moment, I try it and I tell you ...

    Thank you so much!

  • in Interfacing
    Avatar for Andrea

    Hi everyone,
    I would like to create a bluetooth notification system,
    by serial connection of an Espruino WiFi (connected to the internet) to an MDBT42Q.

    When I unplug them from the Web IDE console and power them on batteries (charged)
    MDBT42Q gives me no feedback ...

    I think there is a problem with serial communication,
    I have tested them separately and have never given me hardware / software problems

    Could you help me understand where I'm wrong?

    // Espruino WiFi
    // Web IDE > reset(true);
    
    Serial1.setup(9600, {rx: B7, tx: B6});
    LED2.write(0);
    var WIFI_NAME = "NAME";
    var WIFI_OPTIONS = {password : "PASSWORD"};
    var wifi;
    
    function getString() {
      require("http").get("http://www.pur3.co.­uk/hello.txt", function(res) {
        var doc = "";
        res.on('data', function(d) { 
          doc += d;
        }); // data
        res.on('close', function(d) {
          doc = doc.substring(0, 5); // Hello
          Serial1.println(doc);
          LED2.write(1);
        }); // close
      }); // get
    };
    
    function onInit() {
      clearInterval();
      wifi = require("Wifi");
      wifi.connect(WIFI_NAME, WIFI_OPTIONS, function(err) {
          if (err) throw err;
          setInterval(getString, 30000);
          getString();
      });
    };
    
    // Web IDE > save();
    // Web IDE > disconnect
    // Connected to battery
    
    // MDBT42Q
    // Web IDE > reset(true);
    
    global.LED2 = D2;
    
    function updateBT(wifi) {
       var data = E.toString(wifi);
       data = data.toLowerCase();  // hello
       if(data == "hello"){
          global.LED2.write(1);
          NRF.setAdvertising({}, {
             name: "TEST",
             manufacturer: 0x590,
             manufacturerData: data,
             showName: true
          });
       }
       else{};
    };
    
    function onInit() {
       var cmd = "";
       Serial1.setup(9600, {rx: D8, tx: D6});
       Serial1.on('data', function (wifi) {
          global.LED2.write(0);
          cmd += wifi;
          var idx = cmd.indexOf("\r");
          while (idx >= 0) {
             var line = cmd.substr(0, idx);
             cmd = cmd.substr(idx + 1);
             clearInterval();
             setInterval(updateBT, 15000, line);
             updateBT(line);
             idx = cmd.indexOf("\r");
          };
      });
    };
    
    // Web IDE > save();
    // Web IDE > disconnect
    // Connected to battery
    
    // Espruino WiFi > LED green (Hello)
    // MDBT42Q > ???
    
    • 3 comments
    • 807 views
  • in Interfacing
    Avatar for Andrea

    great, it works!

    thank you so much!

    :-)

  • in Interfacing
    Avatar for Andrea

    Hi everyone,
    I would like to use this Joystick: https://www.adafruit.com/product/512
    with the Espruino WiFi (2v02), it currently works on Feather M4 Express (CircuitPython):

    import ...
    
    stickY = analogio.AnalogIn(board.A0) # analog
    stickX = analogio.AnalogIn(board.A1) # analog
    stickSelect = DigitalInOut(board.A2) # digital
    stickSelect.direction = Direction.INPUT
    stickSelect.pull = Pull.UP
    
    while True:
    ... yValue = stickY.value
    ... xValue = stickX.value
    ... selectValue = stickSelect.value
    ... if yValue > 90 and yValue < 32000: print("Y DOWN")
    ... elif yValue > 40000 and yValue < 65500: print("Y UP")
    ... elif xValue > 90 and xValue < 32000: print("X LEFT")
    ... elif xValue > 40000 and xValue < 65500: print("X RIGHT")
    ... elif selectValue == False: print("PRESS")
    ... else: pass
    

    In JavaScript I'm doing tests, Y and X both are recognized at '50 %' (yes UP and LEFT, no DOWN and RIGHT) ...

    var BTN = {Y: A0, X: A1, SELECT: B10};
    pinMode(BTN.Y, "input_pulldown");
    pinMode(BTN.X, "input_pulldown");
    pinMode(BTN.SELECT, "input_pulldown"); // (auto, input_pulldown and input_pullup) => NOT WORK
    
    while(true){
      if (BTN.Y.read()){console.log("Y");}
      else if (BTN.X.read()){console.log("X");}
      else if (BTN.SELECT.read()){console.log("SELECT"­);}
      else {};
    };
    

    What do you think I can solve?

    THANK YOU

Actions