DIY – WiFi Shield for GR-KURUMI

I tried to make the WiFi Shield for GR-KURUMI.
For GR-KURUMI WiFi shield,  WizFi250 is select as WiFi module which provides UART-to-WiFi and SPI-to-WiFi.
To test simply, FI250 library which is selected UART interface for Host Interface is used as WiFi Library.
Ref. : Comparison of WizFi250 (WiFi Module) Shield / Library in WIZnet and Seeeduino

GR-KURUMI and WizFi250  could be connect to “Serial1”: serial1 is UART interfae which is consist TXD(7) and RXD.(8) as below GR-KURUMI Pin map.

GR-KURUMI Pin Map

GR-KURUMI Pin Map

 

1. Hardware

  • Hardware conntections

GR-KURUMI

WizFi250

7

TXD:JP2

8

RXD:JP2

GND

GND

VCC

TP2

Follow these steps to connect the actual, is as shown in the following figure.

WiFi Shield for GR-KURUMI

1. prepare GR-KURUMI, WizFi250, WizFi250-EVB, FTDI board, Bread board, Ext. Anttena

Wiz250 (WiFi Shield) top for GR-KURUMI

2. connect TP2 to 3.3V in JP5 for 3.3 power input of GR-KURUMI

Wiz250 (WiFi Shield) bottom for GR-KURUMI

3. Wiz250 (WiFi Shield) bottom for GR-KURUMI: Connect TXD@JP2 to AD1@JP7 and Connect RXD@JP2 to AD0@JP7

Interface board (WiFi Shield) top for GR-KURUMI

4.1 Interface board (WiFi Shield) top for GR-KURUMI

Interface board (WiFi Shield) bottom for GR-KURUMI

4.2 Interface board (WiFi Shield) bottom for GR-KURUMI : Red : 3.3V / White : GND / Green : RXD / Yellow : TXD / Blue: WizFi250 RESET

GR-KURUMI with Wiz250 (WiFi Shield, Ext. Ant.)

5. Stack up with Wiz250 (WiFi Shield), Interface board and GR-KURUMI

2. Software

* Library

I forked Fi250 Library at Fi250 Webpage.
Lib. is modified for GR-KURUMI and added some function.
Lib. is upload at Github : https://github.com/embeddist/Seeeduino_WizFi250

* IDE : IDE for GR 0.4.0

 

3. programming and debugging interface

* programming interface

GR-KURUMI Programming

GR-KURUMI Programming

* debugging interface : USB Interface (power & USART1)

WizFi250-EVB

WizFi250-EVB

4. Set Sketch: wizfi250_test.ino

__Before setting wizfi250 example, you should be import the WizFi250 Lib. at IDE for GR. __

#define SSID “STEST”     //Input SSID
#define KEY “87654321” // Input Password
#define AUTH “WPA2”   // Input Encrytion Type

#define wizfi250_rst 9     // Chech and Set wizfi250 hw reset  pin

  1. Demo: Debugging Messages

AT
[OK]
AT+WSET=0,3PA-W //SSID of AP
[OK]
AT+WSEC=0,WPA2,wiznet— // password
[OK]
AT+WNET=1
[OK]
AT+WJOIN
Already Associated : Station Mode
[OK]
AT+WSTAT
IF/SSID/IP-Addr/Gateway/MAC/TxPower(dBm)/RSSI(-dBm)
STA/3PA-W/192.168.123.136/192.168.123.254/00:08:DC:1C:D8:73/31/33 //DHCP IP  address and Info… from AP
[OK]

 

 

SE SP-01の“あっ”と驚く活用法:GR-KURUMIで高性能デバイスを制御&デバッグ! – EDN Japan

 

GR-KURUMI

SE SP-01の“あっ”と驚く活用法:GR-KURUMIで高性能デバイスを制御&デバッグ! – EDN Japan.

GR-KURUMI(じーあーる・くるみ)とは

 GR-KURUMIのGRは「Gadget Renesas」(がじぇっとるねさす)が提供する小型のリファレンスボードです。超低消費電力マイコンであるRL78が搭載され、ピンク色の基板に女の子の顔がシルク印刷されていてLEDの髪留めがチャーミングです。GR-KURUMIの基板サイズや、外部拡張端子はArduino Pro Mini(アルドゥイーノ・プロ・ミニ)互換で設計されており、その小型なパッケージングから、ホビー用途から、はてはアートへの組み込みマイコンとして幅広く活躍しています。また、開発環境はWebアプリを使ったクラウド・コンパイル環境(Renesas Web Compiler)を実現しており、極めて低コストでマイコン開発を始めることができるようになっているのも幅広いユーザー層の支持を得ています。

WebLED for GR-KURUMI

  • Web Server & LED Blink

A simple web server that shows and control the value of the LED Digital using an Arduino Wiznet Ethernet shield. This sketch for GR-KURUMI is merged Web-server and LED Blink. You can do controlling and monitoring the RGB LED on GR KURUMI Board via Internet or Local Network.
After opening a web-browser and navigating to the Ethernet shield’s IP address, the GR-KURUMI will respond with just enough HTML for a browser to display the data. A RGB LED on GR-KURUMI is also controlled by the request of web-browser.

  • Circuit
  • Ethernet shield attached to pins 10, 11, 12, 13
  • Pin 22,23,24 has an LED connected on most Arduino boards.
  • Pin22: LED_RED
  • Pin23: LED_GREEN
  • Pin24: LED_BULE
  • SW
  • Code
  • Configuration of IP address

    IPAddress ip(192,168,1,177);

  • Initalize the Port (port80 is default for HTTP)

    EthernetServer server(80);

  • Parsing of HTTP GET Message

When web-page address is http://192.168.1.177/G0 to on the Green LEN,
the received HTTP GET Message is as below,

GET /G0 HTTP/1.1
Accept: text/html, application/xhtml+xml,....

So, 5th~7th data are parsed to control RGB LEDs.

//5th~7th data of HTTP GET Message is parsed as parse_arr
parse_arr[0] = '/'
parse_arr[1] = 'G'
parse_arr[2] = '0'

  • Contorl RGB LEDs as data pased from HTTP GET Message

    if(parse_arr[0] == '/'){
    switch(parse_arr[1]){
    case('R') :
    // http://192.168.1.177:R0 => Red LED OFF
    if(parse_arr[2] == '0'){
    digitalWrite(led_red, HIGH);
    // http://192.168.1.177:R1 => Red LED ON
    }else if(parse_arr[2] == '1'){
    digitalWrite(led_red, LOW);
    }
    break;
    ...

  • Send a standard http response
    Check current LED status as digitalRead() and Send http respoonse inclued the LED status.

    int sensorReading = digitalRead(led_red);
    client.print("digitalRead(LED_RED)");//client.print(led_red);
    client.print(" is ");
    client.print(sensorReading);
    client.println("
    ");
    ...

  • Address Lists
    http://192.168.1.177/G0 => Green OFF
    http://192.168.1.177/G1 => Green ON
    http://192.168.1.177/R0 => RED OFF
    http://192.168.1.177/R1 => RED ON
    http://192.168.1.177/B0 => BLUE OFF
    http://192.168.1.177/B1 => BLUE ON
    http://192.168.1.177/B3 => BLINK START
    http://192.168.1.177/B3 => BLINK STOP

WIZ820io_GR-KURUMI

WIZ820io

WIZ820io provides easy and simple Ethernet connectivity to small platforms like GR-KURUMI (Compatible with Arduino Pro Mini).
WIZnet W5200 ethernet chip is used in WIZ820io.
To use WIZ820io with GR-KURUMI, users need to replace 4 files in the Ethernet library for GR-KURUMI.

WIZ820io

GR-SAKURA – Forum, GR-KURUMI

Hardware

WIZ820io_GR_KURUMIPWDN, nINT signals are not used.

Software

GitHub_Link:WIZ820io_GR_KURUMI

Install W5200 library

Download modified w5100.cpp & w5100.h and files (attached) and overwrite onto the”RLduino78/libraries/Ethernet/utility” folder in your project in e2studio.

  • Uncomment a below line in the modified w5100.h
//#define W5100_ETHERNET_SHIELD
#define W5200_ETHERNET_SHIELD
  • Change MAX_SOCK_NUM as 8 on Ethernet.h in RLduino78/libraries.
//#define MAX_SOCK_NUM 4 //for W5100 Ethernet Shield
#define MAX_SOCK_NUM 8 //for W5200 Ethernet Shield / WIZ820io

SPI Configuration

    • Set SPI Mode as Mode0 and change the SPI.h in ” RLduino78/libraries/SPI” as below,
//#define SPI_MODE_MASK 0x3000 // DAP = bit 13, CKP = bit 12 on SCR
#define SPI_MODE_MASK 0x0000 // DAP = bit 13, CKP = bit 12 on SCR for WIZ820ioIZ820iohield
    • Set SPI Clock Divider (@16MHz)and change the in SPI.c in “RLduino78/libraries/SPI ” as below,
#include "pins_arduino.h"
#include "SPI.h"
SPIClass SPI;
void SPIClass::begin() {
...
SPI_SIRxx = 0x0007; // Clear Error Flag , エラ-フラグをクリ
SPI_SMRxx = 0x0020; // Config. SPI Mode , モ-ド設定
SPI_SCRx = 0xF007; // Config. Serial , シリアル通信動作設定
//SPI_SDRxx = SPI_CLOCK_DIV4 << 9; // Config. SPI Clock Diviver (@8MHz), 動作クロックの分周設定
SPI_SDRxx = SPI_CLOCK_DIV2 << 9; // Config. SPI Clock Diviver (@16MHz)動作クロックの分周設定
...
}

Using the W5200 library and evaluate existing Ethernet example.

All other steps are the same as the steps from the Arduino Ethernet Shield. You can find examples in the Arduino IDE, go to Files->Examples->Ethernet, open any example, then copy it to your sketch file (gr_sketch.cpp) and change configuration values properly.
After that, you can check if it is work well. For example, if you choose ‘WebServer’, you should change IP Address first and compile and download it. Then you can access web server page through your web browser of your PC or something.

Revision History

Initial Release : 28 July 2013