Giter VIP home page Giter VIP logo

ble-wifi-setup's Introduction

Headless WiFi Setup Through Mobile and Bluetooth

This project is to enable completely and truly headless WiFi setup through using mobile phone app for devices such as Raspberry Pi, equipped with both bluetooth and wifi.

Once the device-app is installed and running on the device, the provided cordova mobile app (or Evothings app) connects using bluetooth and allows user to select an available WiFi network. The WiFi setting will be remember even if the device is restarted.

Special thanks to Evothings (https://evothings.com/) for the tutorials and example codes which made this possible :)

Device Installation

These instructions have been tested on Raspberry Pi Zero W w/ Raspberrian OS.

  • Make sure you have Bluez version 5.x.x or higher installed:

    hcitool | grep ver
    
  • Disable builtin bluetooth:

    sudo systemctl stop bluetooth
    sudo systemctl status bluetooth
    sudo systemctl disable bluetooth
    
  • Power up the bluetooth device:

    sudo hciconfig hci0 up
    
  • Install git and other dependencies:

    sudo apt-get update
    sudo apt-get install git libudev-dev
    
  • Install node 5.9.1 or higher

  • Clone the repo and test run device-app on the device:

    cd device-app
    npm install
    sudo node index.js
    
    # You should see the following lines:
    #   on -> stateChange: poweredOn
    #   on -> advertisingStart: success
    
  • If all works, set it up to run on system boot:

    sudo vi /etc/rc.local
    
    # add the following lines just before exit 0 (the last line)
    hciconfig hci0 up
    nohup node /home/pi/pi-bluetooth-setup/pi-application/index.js &
    

The Mobile App

You may simply install and run the prebuilt Android app available under cordova-app by copying the build to your Android device. Alternatively you may recompile the cordova app or use Evothings Viewer to quickly make edits and test.

ble-wifi-setup's People

Contributors

cimani avatar chrisvip avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.