IoT Pet Feeder

If you have this ‘IoT Pet Feeder’, you can feed your pet on command from anywhere in the world and monitor them if they are O.K without any problem.

In this posting, we will introduce the initial version of a pet feeder. The author will develop this device by adding more functions such as Wi-Fi, network camera and etc.

pet_1

As you see above image, a rotating typed servo motor is installed in the T-PVC with auger screws. The servo motor is controlled by the WIZwiki-W7500 platform. By implementing web server , you can remotely control the device from a web page. If you click below image, you can learn more about WIZwiki-W7500 (ARM cortex-M0 MCU platform board)

pet_2

For the case, the author used various material. He made some parts by using 3D printer. If you go to the Thingivers site, you can easily find the 3D modeling files for pet feeder. For this project, he used the files from below link.

http://www.thingiverse.com/thing:34100 

pet_3d

We also need the T type PVC.

pet_t

To save the cost, he used the pack of the Pringles.

pet_pringles

 

Below is the servo motor image (Parallel Continuous Rotation Servo)

servo_motor

Now, let’s assemble them. When he printed the auger screw using above 3D modeling file, he found its size does not fit into the T-PVC. So he cut one side of the PVC.

pet_cut

It is not difficult to assemble the all the parts. He made the cap for the feeder with the Pringle cap. In the 0.1 version, as the network connection is implemented by Ethernet, you can see the network lines. In the next version, the Wi-Fi and network camera will be added.

pet_ass

 

As the web server is loaded on WIZwiki-W7500, you can control the device on the web page. If you click the “Network Information” menu, you can configure the network parameters for the device. The “Feeding Example” will provide the menus for motor control (Left/Light Control & Go/Stop Control) When the camera is installed to this device, you can monitor your pet through “Monitoring Example” menu.

pet_web

All the codes are programed by mbed on-line compiler. If you go to below page, you can download the all source code.

https://developer.mbed.org/users/justinkim/code/PetfeederWebServer/ 

pet_mbed

All the codes are programed by mbed on-line compiler. If you go to below page, you can download the all source code.

https://developer.mbed.org/users/justinkim/code/PetfeederWebServer/ 

pet_7500

 

Below is the demonstration movie.
http://serviceapi.nmv.naver.com/flash/convertIframeTag.nhn?vid=6D4D8D9CDCA3C6CF8B94CFC598BFBA7A56E0&outKey=V123dc08c6915ce680b6bf0c30a16fa6e01b1564b628dbdb7210ef0c30a16fa6e01b1

Arduino pulse counting with multiple Energy Meters and logging to Emoncms

This project measures multiple energy meters to check its consumption rate. Its key features are to

  • monitor power consumption using multiple counters
  • store the collected data through a net connection to an Open Energy Monitor instance

 

Parts:

-Energymeter (One or more)

– IBOARD W5100 Ethernet Module for Arduino Development Board with POE / Xbee and SD Card Slot Expansion Free Shipping

 

URL & Code : http://blog.mrossi.com/?view=classic

Display the power consumption of the day – Arduino power meter

This project is a power consumption monitoring application using ethernet shield and XivelyPachube ※ 2 to the upload + accumulate the data in anywhere and at any time.

Using the accumulated data “Today’s power consumption” or “highest and lowest power of today” are displayed.

IMGP8552

 

IMGP8553

 

– Prototype

It makes a part that measures the voltage and current required for the power calculations.

Power meter /w Arduino Power meter /w Arduino

 

– Circuit

Power meter /w Arduino 回路図 rev3

 

– 100V Transformer

The power transformer of 100V side of the wire, parallel connect the varistor in, put a fuse in series.

IMGP0930

 

– Using Ethernet shield

Data measured by the Arduino power meter to Pachube (patch bay).

Pachube’s a web service that can be shared, such as environmental data and sensor data via the Internet.

IMGP0980

 

– Product.

P1020691 IMGP2907 IMGP2908

 

Source and detail tutorial description can be found from below link.

Original link = http://arms22.blog91.fc2.com/?no=517

How to Measure the Oil Usage using Axeda Service (WizFi250)

Axeda provides advanced cloud-based service and software for managing connected products and machines and implementing innovative Machine-to-Machine [M2M] and Internet of Things (IoT) applications

The Axeda IoT Cloud Service includes

  • Axeda Connect – IoT Connectivity Middleware
  • Axeda Build – IoT Application Enablement Platform
  • Axeda Manage – Connected Machine Management Applications

If you want to know more about AXEDA Cloud service, click here.

From this tutorial, you can learn the basic skills about how to use the AXEDA service and send the data from the device to the AXEDA cloud.

<Go to the staging page on your AXEDA Toolbox account>

Go to the page http://toolbox.axeda.com and register your account.

As you see below, click the AXEDA READY icon and select ‘mbed LPC1768 Device”

axeda-1

 

axeda-2

We are going to use the WIZwiki-W7500 board, but it’s not supported yet by AXEDA cloud. So, we are going to use the LPC1768 toolbox.

Input the “Device Name” and click “Go” button. You can see the web page as below. As the serial number is required to operate the AXEDA example code, you must remember it.

axeda-7

 

<Materials>

For this project, we need below hardware.

WIZwiki-W7500 (MCU Platform)

axeda-3

WizFi250-EVB (Wi-Fi Shield)

wizfi250

Sensor Shield

sensor

Hardware Configuration

sensor_250

 

<Compile AxedaGo-WizFi250 Example onto WIZwiki-W7500 Board>

Connect to below link and get the WizFi250 AXEDA example code.

Link for AxedaGo-WizFi250 Example

axeda-4

Before compiling the example, add the serial number that you got from AXEDA Tool box.

axeda-5

After compiling the code, upload the binary to WIZwiki-W7500 board.

 

<Source Code>

 

<Test Result>

Send data to the demo application

After performing the above code, WIZwiki-W7500 and WizFi250 will transmit the sensing data to AXEDA Tool box. With the sensing data, AXEDA Tool box will create the mbed widget. If you operate the A0 switch on the sensor shield, you can see the changes on the AXEDA mbed widget.

axeda-6

 

<Log message on Serial Terminal>

 

<Demonstration Video>

WIZnet Technology Online Store (www.shopwiznet.com)

In order to purchase the WIZnet Products using in this project, please visit the following links.

 

W5500-EVB Development Configuration

W5500-EVB is based on W5500 (WIZnet Ethernet Controller chip) and NXP ARM Cortex M0 MCU. It is usually used for evaluating W5500 and starting the IoT device development project.

To start the IoT development, we will set up the development configuration of W5500-EVB

  1. LPCXpresso Installation

LPC Xpress is development tool provided by NXP. It is based on Eclipse and using ARM-GCC compiler. If you go to http://www.lpcware.com/lpcxpresso/download, you can get the program. (It supports Windows, Linux, MAC OS)

 

  1. Flash Magic Installation

Flash Magic is the flash programming tool for NXP MCU. If you go to below link, you can get the program.

http://www.flashmagictool.com/

Get the installation file according to your PC operation system. (In here, we will explain with windows version)

flash

If you execute the download file, you can see below windows. Just by clicking the “Next” button, install the program.

flashmagic1

flashmagic2

flashmagic3

flashmagic4

flashmagic5

Click the “Install” button.

flashmagic6

Click the “Finish” button

flashmagic7

 

Run the Flash Magic program. If you can see the below window, the installation is correctly done.

flashmagic8

 

  1. How to create the new project

We will explain how to create the new project by using open library that provided by NXP. LPC11E36 MCU is used for the W5500-EVB. As NXP does not provide the open library of LPC11E35, we will modify the “LPCOpen for KPC11E68” library. You can download the modified library from below link.

Download

You can get the LPC Open library from below link.

http://www.lpcware.com/lpcopen

Run the LPCXpress and go to File -> New -> Project. You can see below window. Select “LPCExpresso C Project” and click “Next” button.

project11

Select “LPC11/LPC12 -> LPC11Exx -> LPCOpen – C Project” and click “Next”.

project21

Input the project name.

project31

Select the target MCU (LPC11E36)

project41

Import the LPC Open library. For the open library, use the librarythat modified for W5500-EVB (File Name : W5500_EVB_lib.zip). Click import button.

project51

project61

 

Select Chip/Board Library and click the Finish button.

Chip/Board Library

  • lpc_chip_11exx : Chip Library
  • wiznet_evb_w5500evb_board : Board Library

project8

Click “Next” button

project9

project10

project111

 

If you click the Finish button, a new project is created.project13

 

As shown in below , you can see the project has been created.

project14

WIZnet Technology Online Store (www.shopwiznet.com)

In order to purchase WIZnet produts, please visit the following links.

Compact Size Network Module: WIZ850io

wiz850io

WIZ850io is an compact-sized network module that includes W5500(TCP/IP & Ethernet MAC & PHY) & MAG-JACK (RJ45 with X’FMR) with other glue logics. As it is hardware compatible with WIZ820io, you can easily replace the WIZ820io with WIZ850io just by updating the firmwware.

For more information, please refer to the following link; http://wizwiki.net/wiki/doku.php?id=products:wiz850io:start.

Wi-Fi Geolocation Watch

This posting explains how you can acquire the position information from Geolocation server and time information from NTP server using WizFi250 & WIZwiki-W7500.

Below is the system diagram.

geolo-1

 

Hardware

You need below hardware parts :

geolo-2

  • WizFi250-EVB :  WizFi250-EVB is the evaluation board for WizFi250 Wi-Fi module. As it is compatible with Arduino, it could be used for Wi-Fi Shield for Arduino boards.

geolo-3

  • Sensor Shield : On this sensor shied, various sensors are mounted. Just by plugging to the WIZwiki-W7500, you can test the all the peripherals of the W7500.

geolo-4

  • SSD1306  OLED : 128 x 64 dot matrix panel

 

Hardware Configuration

WIZwiki-W7500 board controls the WizFi250 using UART0 RX/TX/CTS/RTS pins and SSE1306 OLED using I2C SDA/SCL pins.

geolo-5

geolo-6

Compile the example codes of WizFi250 Geolocation and NTP

You can download the example code from below link.

WizFi250 Gelocation_NTP Example 

The libraries of the example are as below.

<SSD 1306 Library>

To use this SSD1306 OLED, we used the GFX Library provided by Adafruit. We also found some bugs in Display() function and sends the “Pull Request” to modify the code.

<HTTP Client>

HTTP Client library is used for transmitting or receiving the Web server request/Response messages. The example connects to the ‘ip-api.com’ server to acquire the geolocation information. If you try to connect the server with ‘ip-api.com/csv’ address, you can get the information of the country, address, latitude, longitude and Time zone in csv format.

Click below link to download the HTTP Client library.

HTTP Client

 

<NTP Client>

NTP Client library acquires the UTC information from Network Time server by using UDP protocol. The example code will connect to ‘kr.pool.ntp.org’ the Korean NTP server domain.

NTP Client

 

<Example Source Code>

WizFi250-Geolocation_NTP

 

Below is the demonstration.

WIZnet Technology Online Store (www.shopwiznet.com)

In order to purchase WIZnet produts, please visit the following links.