Can't connect using CLI or WebIDE on Windows 10

Posted on
  • I just got my Puck.js and tried to connect to my laptop running Windows 10, but it doesn't show up in CLI using

    espruino --list
    

    or WebIDE (neither Chrome App nor native). It does however show up in Bluetooth Settings. I can even successfully pair it, but that has no effect.

    Am I missing something?

    Here some data about my system (just tell me if you need more):

    • Windows 10.0.14393 Home 64-bit
    • Chrome 54.0.2840.99 m (64-bit)
    • Python 2.7.12
    • NodeJS v6.9.1
    • NPM 3.10.8
  • I just discovered the "Console" tab in the Web IDE settings. Here's the log:

    We have chrome.serial - not using 'serialport' module
    serial_audio: Audio Sample rate : 44100
    serial_audio: Audio Serial Baud 9600 Bit time 4.59375
    No navigator.bluetooth - Web Bluetooth not enabled
    GET chrome.storage.sync = undefined
    Initialising SettingsConsole
    Initialising Utils
    Initialising Config
    Initialising Notifications
    Initialising Status
    Initialising App
    Initialising File
    Initialising Code
    Initialising Serial
      - Initialising Serial Chrome Serial
      - Initialising Serial Chrome Socket
      - Initialising Serial Audio
    Initialising Terminal
    Initialising CodeWriter
    Initialising Modules
    Initialising Env
    Initialising Flasher
    Initialising EditorBlockly
    Initialising EditorJavaScript
    Initialising Send
    Initialising MenuPortSelector
    Initialising MenuSettings
    Initialising MenuFlasher
    Initialising SettingsAbout
    Initialising SettingsFlasher
    Initialising BoardJSON
    Initialising VersionChecker
    Initialising Compiler
    Initialising Assembler
    Initialising GetGitHub
    Initialising NPMModules
    Initialising ExamplePlugin
    Initialising Unicode
    Initialising SaveOnSend
    Initialising Minify
    Initialising Tutorial
    Initialising Webcam
    Initialising FontSize
    Initialising UiMode
    Initialising URLHandler
    Initialising FileReload
    Initialising CodeLink
    Initialising Project
    Initialising Testing
    Initialising Notification_Sound
    Initialising Tern
    Initialising Debugger
    Initialising Tour
    Initialising SettingsProfile
    Initialising HelpLinks
    No code in storage.
    
  • Did you follow the instructions here? http://www.espruino.com/Puck.js+Quick+Start

    Looks like you may not be using the Native version of the Web IDE. Until Google adds Web Bluetooth support for Chrome you have to use that - but it should 'just work' for you (once you pair Puck.js using the Windows Bluetooth menu).

    For the command-line app, you also have a problem that at the moment 'noble' - the BLE library for Node.js - doesn't support using BLE via the Windows 10 APIs. That means you have to use a tool called Zadig to change the drivers over so that 'noble' can use them, but that means that Windows then can't use the BLE!

    Personally, I wouldn't do that. If you really want to use the command-line app at the moment, I'd buy a cheap USB BLE dongle (it's about $5 delivered from eBay). Once that's plugged in (you might have to use Zadig on it), the command-line app and any other Node.js BLE stuff you might want to try will start working.

  • Now I see the problem: I followed the links and landed on espruino.com/Web+IDE from espruino.com/Puck.js+Quick+Start#windows. For some reason the embedded YouTube video doesn't show up for me, so because of the big white space I thought the page was over. Should have checked the scroll bar...
    I assumed "native" referred to a specific Chrome app since I have some Chrome apps that can access native features, like USB devices.
    Perhaps it would be a good idea to change the link on the /Puck.js+Quick+Start#windows to /Web+IDE#as-a-native-application

    Now I've installed the correct native app and paired the device (Button is called "Pair" in Windows 10, no longer "Connect" as in the instructions) it works.

    Thanks for the help.
    I've created 2 Pull Requests on GitHub to address the two points in the docs that confused me.

    One last confusing point is that the native app is still referred to as "Web IDE". I understand it's probably the exact same thing in an app shell (like Electron). But seeing as there are 3 versions of the Web IDE right now (online, Chrome app and native) you might consider more using specific names where appropriate.

  • Thanks - I've just pulled those changes in and I'll update the website in the next day or so.

    About the naming - I know - I was wondering about that, it's confusing. The problem is 'Web IDE' is used all over the tutorials to mean 'the IDE' - any of them could be used. Hopefully this problem will be relatively short-lived - when Google add Web Bluetooth support for Windows there won't be much need for the native app.

  • My thought was to keep the name "Web IDE" but extending it when referring to a specific version. e.g. "Web IDE - Chrome", "Web IDE - Online" and "Web IDE - Native"

    But I'm curious: Why couldn't you use Bluetooth in the Chrome App? According to these docs it's supported on Windows. It even mentions LE (exactly once) at inquiryTxPower.

  • I'm pretty sure that's standard Bluetooth - Bluetooth Low Energy is this one: https://developer.chrome.com/apps/bluetoothLowEnergy

    Which is only supported in Chrome OS - and Web Bluetooth is here: https://github.com/WebBluetoothCG/web-bluetooth/blob/gh-pages/implementation-status.md

    Sadly Google is killing Chrome apps, so even if I were to get something working with the chrome.* APIs, they'll be disappearing next year :(

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Can't connect using CLI or WebIDE on Windows 10

Posted by Avatar for Thomas @Thomas

Actions