Introduction: Building Your Android Apps for Monitoring IoT Devices Using REST API

A few weeks ago, I've implemented REST web service library for WIZwiki-W7500ECO board. I've posted on Instructables, https://www.instructables.com/id/Adding-REST-based-Web-Services-to-IoT-Device-for-I/ (Featured content!)

I decided to create my own Apps for monitoring my board using REST APIs. My Apps created using 'MIT App Inventor 2'. You can find my apps at App inventor gallery. (WIZwiki RESTAPI I/O Monitor)

Users can create a variety of application by reference to this app. you can freely modify and build your own Apps(.apk file). For more details about 'MIT App Inventor', refer to the following link. http://appinventor.mit.edu/

For more information about 'REST API for WIZwiki-W7500ECO', please see the previous post and GitHub repository.

Instructables: Adding REST-based Web Services to IoT Device for IO monitoring

GitHub: RESTful Web Server & I/O Control by REST API

Step 1: Apps Features

  • Example Apps for testing REST APIs for WIZwiki-W7500ECO platform
  • Can be monitored 4-configurable I/Os on board (ain / din / dout)
  • Each Pins assumed to be connected as follows
    • User IO A (P30): This pin is connected to the temperature sensor (analog input, Grove temp. sensor v1.1)
    • User IO B (P29): This pin is connected to the temperature potentiometer (analog input)
    • User IO C (P28): This pin is connected to the Push button1 (digital input)
    • User IO D (P27): This pin is connected to the Push button2 (digital input)
  • Can be monitored network settings and uptime of board
  • Free to use

* This post will be update continuously

Step 2: Parts

For this instructables, you'll need next things.

  • Android Mobile Phone or Tablet
    • App Inventor is a visual, blocks language for building Android Apps
  • WIZnet WIZwiki-W7500ECO Platform board
    • WIZwiki-W7500ECO is a compact platform board based on W7500, which is a SOC chip that integrates an ARM Cortex-M0, 128KB Flash memory and hardwired TCP/IP core. W7500 is the best fit to IoT devices. For more details, refer to the next link: http://wizwiki.net/wiki/doku.php?id=products:wizw...
  • Seeedstudio Grove Starter Kit
    • It contains Plug-n-play hardware modules e.g., temp senser and buttons. For more details, refer to the next link: http://www.seeedstudio.com/wiki/Grove_System
    • Grove Shield Grove - Temperature Sensor v1.1
    • Grove - Potentiometer
    • Grove - Button (x 2)
    • Grove - Universal 4 Pin Cable (x 4)
  • A computer for using KEIL uVision5 IDE / App inventor web IDE
    • REST web service library is developed and compiled with uVision5 IDE.
  • Jumper wires (x 6)

Step 3: Hardware Circuits

WIZwiki-W7500ECO - Grove Shield - Grove Peripheral

3.3V - 3.3V - None

GND - GND - None

P30 - Analog0 (A0) - Temperature Sensor

P29 - Analog1 (A1) - Potentiometer

P28 - Digital2 (D2) - Button1

P27 - Digital3 (D3) - Button2

  • [WIZwiki-W7500ECO] and [Grove Shield] is connected via jumper wires.
  • [Grove Shield] and [Grove Peripheral] is connected via grove universal 4 pin cables

Step 4: Firmware

WIZwiki-W7500ECO board and Android mobile phone are must be obtain an IP address automatically from same router (DHCP server) for network communication.

e.g.,

Router IP: 192.168.11.1 (gateway, DHCP server)

WIZwiki-W7500ECO IP: 192.168.11.2

  • Obtain an IP address automatically, Ethernet connected

Android Mobile phone IP: 192.168.11.4

  • Obtain an IP address automatically, Wi-Fi connected

How to enable IP obtained from DHCP server (automatically)

  1. Delete the comment mark (//, two slashes) at preprocessor directives '#define _USE_DHCP_' (in main.c file)
  2. Delete the comment mark at call set_dhcp_mode() function line in main() functionn (in main.c file)
  3. Commented out set_static_mode() function line in main() function (in main.c file)
  4. (bugfix: main.c file) Line 321, #ifdef _USE_DHCP -> #ifdef _USE_DHCP_('_' is missing)

Step 5: Apps Design

Screens

  • Main
  • Temperature
  • Potentiometer
  • Buttons
  • Settings

Step 6: Download, Build and Run

Firmware

App Inventor Apps

  • Build and Create .apk file at Web IDE
  • Select the 'Build' menu on top of browser

Step 7: Enjoy It!

Try to create the Android apps for your own IoT devices!

Comments

author
shilpagov made it!(author)2016-09-14

Uptime Cloud Monitor supports monitoring REST APIs on a completely SAAS based model.
The setup is quick and easy. You can configure the REST API URL, the REST method (GET/ POST/ PUT/ DELETE), request parameters (if any), credentials required (if any), the monitoring frequency, the geographic location of the monitoring stations (from a choice of 15 stations across the globe). You can match the REST API response body against a specific string to ensure that the response is as expected.

You can also configure alerts (notified via SMS, Email, PagerDuty etc) to be triggered based on API downtime, performance degradation or API response verification failure.

More details on REST API Monitoring: http://community.idera.com/blog/b/community_blog/posts/new-rest-api-monitoring-using-uptime-cloud-mo...

More details on Uptime Cloud Monitor Pricing options: https://www.idera.com/infrastructure-monitoring-as-a-service/pricing

You can sign up for a 14 day free trial of Uptime Cloud Monitor here: https://www.idera.com/infrastructure-monitoring-as-a-service/freetrialsubscriptionform

Disclaimer: I work at Uptime Cloud Monitor.

author
itsmarkkessler made it!(author)2016-06-07

Hi

I am going to build my first Android app for monitoring IoT devices,...

http://www.au.mobilepundits.com/

author
gulliverrr made it!(author)2016-04-12

https://kr.linkedin.com/in/hyungki-jung-a4472546

author
Eric.Hyungki.Jung made it!(author)2016-04-14

:) ah?

author
RaviS79 made it!(author)2016-04-08

Thanks already.. Grrrrrreaaaatttt.. Get back to you soon... As soon as I have done one

author
Eric.Hyungki.Jung made it!(author)2016-04-10

:)

author
MartyMart made it!(author)2016-04-10

For a much cheaper alternative to the w7500, try the ESP8266. SoC with WIFI included!

author
Eric.Hyungki.Jung made it!(author)2016-04-10

Thanks! I'm considering a project using a wireless connection such as Wi-Fi and BLE.

author
Gadget93 made it!(author)2016-04-10

I still have no idea what this is for.

author
Eric.Hyungki.Jung made it!(author)2016-04-10

I was implemented REST web service library based on compact Cortex-M0 MCU (WIZnet W7500P, Please refer to the link at the top). The project's purpose is to develop APPs to control the device using the REST API is implemented. :)

author
Neeraj+Juneja made it!(author)2016-04-07

Well done, very impressive. How can I modify the app to receive signals from a Bluetooth low energy beacon?

author
Eric.Hyungki.Jung made it!(author)2016-04-08

As I know, App Inventor 2 seems not support BLE. You can refer to below link.

https://groups.google.com/forum/#!topic/mitappinve...

author
cavemanhz made it!(author)2016-04-07

good job!

author
Eric.Hyungki.Jung made it!(author)2016-04-08

Thanks!

author
Aaron393 made it!(author)2016-04-07

lol

author
Eric.Hyungki.Jung made it!(author)2016-04-08

:)

About This Instructable

28,047views

540favorites

License:

Bio: Embedded Firmware Engineer / Researcher. I'm Interested in IoT platforms and OpenSourceHardWare like arduino, Cloud, Web / App and product development.
More by Eric.Hyungki.Jung:Building Your Android Apps for monitoring IoT devices using REST APIAdding REST-based Web Services to IoT Device for IO monitoringWeb Manager development for WIZnet Serial to Ethernet modules
Add instructable to: