All Projects → octoblu → Microblu_mqtt

octoblu / Microblu_mqtt

Licence: lgpl-2.1
Microblu OS (firmware for Arduino-compatible devices) using MQTT

Labels

Projects that are alternatives of or similar to Microblu mqtt

Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+18036%)
Mutual labels:  arduino
Rf1101se Teensy
Driving one of those cheap RF1101SE boards with a Arduino or Teensy
Stars: ✭ 45 (-10%)
Mutual labels:  arduino
Gy521 Dev Kit
Some tools that aid projects utilising the GY521 breakout board (MPU5060 chip)
Stars: ✭ 47 (-6%)
Mutual labels:  arduino
Esp8266
connecting the Arduino Micro to the ESP8266
Stars: ✭ 42 (-16%)
Mutual labels:  arduino
Menu
Minimal AVR LCD Menu System in C
Stars: ✭ 44 (-12%)
Mutual labels:  arduino
Bangoskank
A sketch to use an ESP8266 to flood the surrounding area with SSIDs of your choosing.
Stars: ✭ 46 (-8%)
Mutual labels:  arduino
Usb Keystroke Injector
☠️ An Arduino-based USB keyboard simulator which injects keystrokes via Bluetooth protocol or predefined payloads in a SD card.
Stars: ✭ 42 (-16%)
Mutual labels:  arduino
Ttgo T Wristband
First steps with TTGO T-Wristband
Stars: ✭ 50 (+0%)
Mutual labels:  arduino
Iltms automated dust collection
Fully automated dust collection system with blast gate control
Stars: ✭ 45 (-10%)
Mutual labels:  arduino
Sslclient
🔒Add SSL/TLS functionality to any Arduino library
Stars: ✭ 45 (-10%)
Mutual labels:  arduino
Hass Yaap
Yet another alarm (control) panel for Home Assistant.
Stars: ✭ 44 (-12%)
Mutual labels:  arduino
Arduino Nats
An Arduino / ESP8266 / Particle Photon compatible C++ library for communicating with a NATS (http://nats.io) server
Stars: ✭ 44 (-12%)
Mutual labels:  arduino
Tracer Rs485 Modbus Blynk
An arduino sketch to connect the EPSolar/EPEver Tracer A/B Series (RS-485 Modbus) to an ESP8266 and monitor using the Blynk mobile app.
Stars: ✭ 46 (-8%)
Mutual labels:  arduino
Esp8266 Relay
Relay control from a web page using the ESP8266 chip
Stars: ✭ 42 (-16%)
Mutual labels:  arduino
Homeduino
Arduino library for home control
Stars: ✭ 47 (-6%)
Mutual labels:  arduino
Arduinocore K210
Seeed code for the Kendryte K210 SoC on Arduino
Stars: ✭ 42 (-16%)
Mutual labels:  arduino
Yetanotherhhkbcontroller
Yet another controller for Happy Hacking Keyboard Professional2
Stars: ✭ 45 (-10%)
Mutual labels:  arduino
Libraryepd
Library Arduino for 4.3 inch e-Paper by Waveshare
Stars: ✭ 50 (+0%)
Mutual labels:  arduino
Ppm encoder
Generate PPM signal using Arduino
Stars: ✭ 49 (-2%)
Mutual labels:  arduino
Mifare Classic Toolkit
RFID / NFC :: Mifare Classic 1k info and tools
Stars: ✭ 46 (-8%)
Mutual labels:  arduino

MM    MM iii                      bb      lll         
MMM  MMM       cccc rr rr   oooo  bb      lll uu   uu 
MM MM MM iii cc     rrr  r oo  oo bbbbbb  lll uu   uu 
MM    MM iii cc     rr     oo  oo bb   bb lll uu   uu 
MM    MM iii  ccccc rr      oooo  bbbbbb  lll  uuuu u 
                                                      
                                                

Microblu OS allows you to connect and control your Arduino via the Octoblu Meshblu (formerly SkyNet.im) open source IoT platform and API.

Microblu OS supports Arduino ethernet or wifi shields (or any other device that properly implements the Client interface)

##Videos

##Getting Started with Arduino

NOTE: The CC3200 LaunchPad requires the Energia IDE, see CC3200 instructions.

To use microblu on Arduino compatible devices you will need to install the Arduino IDE and some required libraries.

Required Downloads:

Proceed after you have successfully installed the Arduino IDE

###Installing Libraries

  • Unzip the libraries you've just downloaded and rename the folder for each library removing anything like "- master"
  • Open Arduino and go to Sketch->Import Library->Add Library and choose the main folders you renamed
  • If you goto File->Examples you should see microblu_mqtt
  • Choose the example that corresponds to the shield you will be using before proceeding.

##Configuring your code

First you need a valid UUID and Token from Skynet. Copy and paste the following into a terminal window, and put the resulting UUID and TOKEN in your sketch.

NOTE: In windows use a terminal emulator such as CYGWIN

curl -X POST -d "type=firmwareController&payloadOnly=true&name=Arduino" http://skynet.im/devices

Ensure the following have been added to your sketch:

  • UUID
  • TOKEN
  • WIFI Credentials (if using wifi shield)

Save this sketch and move on to the corresponding tutorial!

##Install Wifi

These are instructions for Arduino brand wifi

IMPORTANT: Connect the IOREF pin to the 3.3v pin. If you’re using the Rev3 series Arduino controller, you don’t need to do this!

###Step 1 - Test your WIFI shield

Open the sketch: File->Examples->WIFI->WiFiWebClient.

Put your connection details in and make sure it gets a connection to google that looks like this:

####Firmware Update If you've never updated your Wifi shields firmware, you'll see a message to update your firmware. Please do:

###Step 2 - check configuration

Open microblu_wifi example at File->Examples->microblu_mqtt and follow the "Configuring your Code" section above if you haven't

Double check your wifi credentials!

Lastly

  • Check Tools->Port and Tools->Board and make any neccesary changes
  • Upload your code
  • Open a serial monitor and listen in at 9600 baudrate (this is how your Arduino will tell you if something broke)

####Pins In use by Shield (Do not use these pins for anything else)

  • 7, 10, 11, 12, 13
  • If the SD card is in use Pin 4 will also be unavailable.

##Install Ethernet

These are instructions for Arduino brand ethernet shields and boards

Open microblu_eth example at File->Examples->microblu_mqtt and follow the "Configuring your Code" section above if you haven't

It might be wise to alter the stock MAC address. If you ever have two of these on the same network you'll have trouble otherwise.

Lastly

  • Check Tools->Port and Tools->Board and make any neccesary changes
  • Upload your code
  • Open a serial monitor and listen in at 9600 baudrate (this is how your Arduino will tell you if something broke)

####Pins In use by Shield (Do not use these pins for anything else)

  • 10, 11, 12, 13
  • If the SD card is in use Pin 4 will also be unavailable.

##Install CC3000

These are instructions for any board using a CC3000 chip regardless of manufacturer. We prefer Sparkfun:

####Install Dependency The only library we know of that properly implements the Arduino network client library for the CC3000 is Sparkfun's and as long as you have any shield that uses a CC3000, donwnload and install their library as before:

###Test Connection

The first thing you should do is see if your shield and network work by using the standard wifi test at File->Examples->SFE_CC3000_Library->PingTest.

Put your connection details. You'll also have to change the pins to match whatever shield you have. The default pin setup is for sparkfun. If you have adafruit you might use:

#define CC3000_INT      3   // Needs to be an interrupt pin (D2/D3)
#define CC3000_EN       5   // Can be any digital pin
#define CC3000_CS       10  // Preferred is pin 10 on Uno

Open a serial monitor to 9600 Baudrate and check that you're connected (this may take a minute)

If it connects, we're all good. Open microblu_cc3000 example at File->Examples->microblu_mqtt.

**Follow the "Configuring your Code" section above. **

Don't forget to change out your pins and wifi or other networking credentials here too.

Lastly

  • Check Tools->Port and Tools->Board and make any neccesary changes
  • Upload your code
  • Open a serial monitor and listen in at 9600 baudrate (this is how your Arduino will tell you if something broke)

####Pins In use by Shield (Do not use these pins for anything else)

  • 11, 12, 13 and any other pins you've set above.

One note about the cc3000 is it is a VERY big library. We've had to make a few changes. The sketch no longer supports capabilty query. Most likely that doesn't mean anything to you so don't worry about it.

##Install CC3200 WARNING: CC3200 support is experimental and still in development, some functionality may not yet be supported.

These are instructions for a CC3200 LaunchPad:

Setup Energia

Clone a forked version of Energia:

git clone --depth=1 https://github.com/erikwilson/Energia.git && cd Energia

Build Energia:

(cd build && ant)

Install extra libraries:

(cd libraries && ./copy_libs.sh)

Install microblu_mqtt:

mkdir -p sketchbook/libraries && \
  (cd sketchbook && git clone https://github.com/octoblu/microblu_mqtt.git && \
   cd libraries && ln -s ../microblu_mqtt .)

Set Jumpers

NOTE: Ensure that the CC3200SDK-SERVICEPACK is installed within Windows (emulation with Wine will not work) and jumpers are set per TI instructions when flashing with Uniflash.

When uploading sketches with Energia the SOP2 must be jumped to TCK, see:

Run Energia

(cd build && ant run)

Set the sketchbook folder to the folder created in Energia.

Open the CC3200 sketch through File -> Sketchbook -> microblu_mqtt -> microblu_cc3200.

Follow instructions for configuring your code.

##Install Spark

These are instructions for a Spark Core:

The Spark does NOT uitlize Arduino. Unless you're an advanced user this is very difficult until we can get all the libraries we need in the Spark online IDE. Follow the directions below, but you can also see a working example in our experimental branch at: https://github.com/jacobrosenthal/core-firmware/tree/skynet-mqtt-firmata

Follow the instructions on their site to custom build: https://github.com/spark/core-firmware

Also requires our fork of firmata https://github.com/jacobrosenthal/arduino/tree/Spark

And Teensy's pgmspace.h https://github.com/jacobrosenthal/core-firmware/blob/skynet-mqtt-firmata/inc/pgmspace.h

Once you can successfully custom build, you need to dump all the cpp files in /src and all the h files in /inc. Replace application.cpp with this file

Add your UUID and TOKEN from before.

Upload away. You can open the Arduino Serial Terminal at 9600 to see your connection status.

##USE

Now you can use Nodeblu Designer or Node.js to command and control your Arduino.

LICENSE

(LGPL License)

Copyright (c) 2014 Octoblu [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].