Home > REST Platform met Android App voor ivd-apparaat

REST Platform met Android App voor ivd-apparaat

Tags:remote-con
Advertisement

REST Platform met Android App voor ivd-apparaat

Hallo allemaal

Daarvoor maakte ik REST platfrom, WIZwikiREST-io met WIZwiki-W7500ECO board.

En ik gepost op http://www.instructables.com/id/WIZwikiREST-io/

Op dat moment, het platform heeft slechts GPIO en controle-LED door App.

Dus, ik besluit om meer randapparatuur op platform gebruiken voor het internet van de dingen en andere makers die denken dat het zo moeilijk om ivd apparaat te maken.

Dat is de reden waarom ik post het opnieuw als bovenste versie, WIZwikiREST-io ver1.01 !!

Stap 1: Stap 1: WIZwikiREST-io ver 1.01 Kenmerken

  • Met behulp van WIZwikiREST-io platform
  • randapparatuur toevoegen
    • GPIO
    • PWM
    • I2C
  • Mogelijk toe te voegen JSON formaat Resource definiëren
  • Mogelijk toe te voegen dienst te definiëren
  • Geen behoefte om het ontleden van waarde uit gegevens op te halen

Stap 2: Stap 2: Hoe naar gebruiker te definiëren

REST Platform met Android App voor ivd-apparaat

Het is niet moeilijk om toe te voegen gebruiker te definiëren.

Het betekent gebruiker kan pin-functie (GPIO, ADC, PWM ... etc), JSON-formaat uri en zelfs callback functie te definiëren.

Laat me uitleggen hoe GPIO, PWM, I2C toevoegen

1. vast te stellen Pin

  // - I2C OLED - I2CPreInit gI2C (PA_10, PA_9); 
  // - PWM DC - PwmOut DC (D6); 
  // - GPIO LED - DigitalInOut GP05 (D5); 

In dit geval heb ik gebruik gemaakt mbed web compiler. En ik gebruikte Adafuit_GFX bibliotheek te hanteren OLED met I2C. Dat is de reden waarom ik verklaar I2C pinnen in I2CPreInit klasse. U kunt controleren met een lager dan open source.

Stap 3: Stap 3: Definieer Gebruiker Resource

2. Definieer gebruiker resource

  // Vul het object WIZwikiREST [ "Naam"] = "WIZwikiREST-io ver1.01";  WIZwikiREST [ "Naam"] bereikbaar = false.;  // Network WIZwikiREST [ "Network"] [ "MAC"] = mac_str;  WIZwikiREST [ "Netwerk"] [ "IP"] = ip_addr;  WIZwikiREST [ "Netwerk"] [ "IP"] bereikbaar = true.;  WIZwikiREST [ "Netwerk"] [ "SN"] = subnet_mask;  WIZwikiREST [ "Netwerk"] [ "SN"] bereikbaar = true.;  WIZwikiREST [ "Netwerk"] [ "GW"] = gateway_addr;  WIZwikiREST [ "Netwerk"] [ "GW"] bereikbaar = true.;  // I2C OLED WIZwikiREST [ "I2C"] [ "OLED"] = "none";  WIZwikiREST [ "I2C"] [ "OLED"] bereikbaar = true.;  WIZwikiREST [ "I2C"] [ "OLED"] cb_action = oled_set.;  // PWM DC WIZwikiREST [ "PWM"] [ "DC"] = DC.read ();  WIZwikiREST [ "PWM"] [ "DC"] bereikbaar = true.;  WIZwikiREST [ "PWM"] [ "DC"] cb_action = pwm_set.;  // GPIO WIZwikiREST [ "GPIOs"] [ "P05"] = GP05.read ();  WIZwikiREST [ "GPIOs"] [ "P05"] bereikbaar = true.;  WIZwikiREST [ "GPIOs"] [ "P05"] = cb_action p5_set;. </ P> 

In main.cpp, kan de gebruiker vinden JSON formaat resource gedefinieerd. Het is niet moeilijk.

In hier, kan de gebruiker de URI te definiëren, en beslist het aanvaardbaar is of niet. Betekent dit dat de waarde kan worden veranderd door URL.

Als u ".accessible = false" ingesteld, geen verandering van de waarde. WIZwikiREST [ "GPIOs"] [ "P05"] = GP05.read (); [ "GPIOs"] [ "P05"] is als richting de waarde te benaderen.

Dus, als de gebruiker wil de pin 05 waarde te wijzigen, de gebruiker moet typen "xxx.xxx.xxx.xxx (platform ip) / GPIOs / P05 / 1 (of 0)"

En GP05.read () is de initiële waarde. Ook definieert het type waarde.

zo is, zal de waarde integer type zijn. Het betekent, de gebruiker moet int waarde typen wanneer URL verzenden van gegevens. Bij de laatste, ".cb_action" is de callback functie.

Stap 4: Stap 4: Definieer callback functie

REST Platform met Android App voor ivd-apparaat

Nu, ik zal de callback-functies die ik heb ontworpen uitleggen. Het is zo gemakkelijk.

  // - I2C OLED - <br> Bool oled_set (void * param) {char * oled;  if (param!) return false;  oled = (char *) param;  gOled.clearDisplay ();  gOled.setTextCursor (0,0);  gOled.printf ( "% s", oled);  gOled.display ();  return true;  } // - PWM DC - bool pwm_set (void * param) {if (param!) Valse terugkeren;  DC.write ((float) (* (int *) param) /100.0);  return true;  } // - GPIO - bool p5_set (void * param) {if (param!) Return false;  GP05.write (* (int *) param);  return true;  } 

Deze drie functies zijn callback functie gedefinieerd bovenlaag. Zoals ik al zei ik vroeger Adafuit bibliotheek om OLED zo beheersen, ik gebruikte functies van de bibliotheek. Andere dingen zijn van mbed bibliotheek. Toen functie genaamd, krijgt waarde in URL als parameter van de functie en geen behoefte om na te denken over het type waarde. omdat REST platform definieert het type waarde.

Stap 5: Stap 5: Hardware

REST Platform met Android App voor ivd-apparaat

Platform raad:

WIZwiki-W7500

WIZwiki-W7500ECO

componenten:

Adafruit 128by64 OLED ( https://www.adafruit.com/product/938 )

mini Fan

LED

Stap 6: Stap 6: Android App

REST Platform met Android App voor ivd-apparaat

WIZwikiREST-io ver1.01 App heeft 5 screens.

  • Hoofdscherm
  • Perifere Select Screen
  • GPIO controle Screen
  • PWM controle Screen
  • I2C tekst send Screen

Het is gebaseerd op MIT App uitvinder 2.

Iedereen kan downloaden en verwijzen de open source app.

Slechts één ding de gebruiker moet weten voor het gebruik.

Eigenlijk App moeten steunen veranderende IP-adres. Want meestal kon REST Platform actief is op DHCP en IP-adres soms worden veranderd.

Maar in deze applicatie heb ik geen veranderende IP-adres functie.

Dus gebruiker hoeft op te schrijven op de App broncode. Ik voegde Waar moet re-type.

En ook zal ik de bovenste versie vrij te geven ter ondersteuning van het instellen van het netwerk informatie.

Stap 7: Stap 7: Open source

REST Platform met Android App voor ivd-apparaat

Android App open source en WIZwikiREST-io ver1.01 open source

Hier is de link om te downloaden WIZwikiREST-io ver1.01: https: //developer.mbed.org/users/joon874/code/WIZw ...

Dank je!

Advertisement

Related Articles