OpenPICUS: PIC perustuu langattomaan tiedonsiirtoon

OpenPICUS on PIC 24F-sarjaan (16 bittinen Microchip prosessori) perustuva uusi, avoin laitealusta johon on liitetty joku langaton moduuli (Bluetooth ja/tai Wi-Fi).
OpenPICUS antaa käyttäjille (laitteisto ja ohjelmisto) mahdollisuuden käyttää langattomia antureita ilman laitteistoläheistä kokemusta.
Tällä hetkellä projekti on alkuvaiheessa, mutta kaikki tuntuu toimivan. Hardware on saatavissa Suomesta. Ohjelmat ovat ilmaisia, lataus ja debuggaus USBin kautta toimii.
WiFI toimii.
Mitä ei ole? suomenkielisiä opetussivuja.
Jos sinulla on hyvä idea ja haluat osallistua hankkeeseen, sinulla on mahdollisuus saada OpenPICUS ILMAISEKSI.
Mitä tarkoittaa PICUS? Se on muinaisroomalainen lintu, mutta nimi viittaa Microchip PIC prosessorisarjaan
Mikä on Flyport ? Microchipin WIFI moduuli. Siinä on Microchipin tekemät valmiit ohjelmistomodulit.
Mkä on USB nest? OpenPicus piirilevy, jossa on
*PMicrochip PIC18F2550
- FTDI-piiri FR232RL USB/UART muunnin
- riviliittimiä liitäntöjä varten <br>
- Liittimet omia teholähteitä varten 3.3 ja 5V kun USB ei ole käyettävissä.
- liitin Flyport-modulille
- koko 57*57 mm.
- Sarjabooloader.
- Jumpperit sarjaportin liittämiseksi USB-muuntimeen tai piirilevyn liittimeen JP11. Liitäntä on UART-tasoinen sarjaliikenne, ei RS232
- I2C liitäntä
- SPI liittimet
- 3*PWM
Vertailu Arduinoon
Nimi | OpenPICUS | Arduino |
Prosessorivalmistaja | Microchip | Atmel |
Langaton moduli | Flyport WiFI | ? |
Bluetooth moduli | BlueBreak | ? |
Falsh muisti | 256K Flash,16K Ram,16 Mips | ? |
Mitat | 57*57 mm |

OpenPICUS ominaisuudet:
HARDWARE
* CPU Microchip PIC 24F 16 bittinen 44-nastainen QFN, 64K Flash, 8K Ram
* Langaton (Bluetooth / Wi-Fi)
* Teholähde 5V tai 3,3 V
* Liitännät: UART, digitaalituloja, digitaalilähtöjä, analogituloa, PWM:iä, SPI-liitäntä, I2C
* Liitin: 26-nastainen IDC( koiras )sopii lattakaapelille
Ohjelmistot
* Picussarjoihin voidaan ladata ohjelmia sarjaportin kautta (ei tarvita Microchipin ohjelmointilaitetta).
* Ohjelmien lataus ja käyttöjännite saadaan myös USB-liittimeltä
* Bluetooth mallissa on SPP OBEX, audio tuki .
* Wi-Fi tarjoaa palveluja TCP portteihin, sulautettun FTP- ja sähköpostiohjelmat.
* Ohjelman kehitykseen on saatavailla ilmainen IDE ympäristö, joka luo tarkeimmät toiminat automaattisesti.
* Ohjemat perustuvat Microchip 5.25 TCP/IP pinoon ja Wireless LAN pinoon.
* Microchipin C30-kääntäjä sisältyy IDE:n
* Windows Framework 4.0 tarvitaan on ohjalman ulkonäköön
* Ohjelma on open source samoin kuin hardware on vapaasti kopioitavissa

Tässä aivan yksinkertainen projekti, joka luo WIFI-serverin 192.168.1.115:80. Jos sinulla on DSL-modeemissa WIFI , siitä pitää poistaa salaus ja laittaa AD-HOC verkko päälle, jotta serveri näkyy oikeassa osoitteessa.
#include "taskFlyport.h"
void FlyportTask()
{
IOInit(D1In,in); // D1In alustetaan tavalliseksi kelluvaksi tuloksi
IOInit(D2In,inup); // D2In alustetaan tuloksi, jossa on pullup vastus
IOInit(D3In,indown); // D3In alustetaan tuloksi, jossa on pulldown vastus
IOInit(D4In,indown); // D4In alustetaan tuloksi, jossa on pulldown vastus
int i1state;
int URXReport;
char StringU1[20]; // varaan muistista UART merkkibufferi 20 mekkiä
WFConnect(WF_DEFAULT); // Komento, jolla luodaan adhoc verkko ( default-asetuksilla, jotka on aseteltu IDE:ssä)
while (1)
{
//---------------------- IO ------------------------------//
/* anto ledi 1 seuraa tulon 1 tilaa ( se on nyt kelluva, eli tila voi olla melkein mikä tahansa)*/
i1state = IOGet(D1In);
IOPut(D1Out , IOGet(D1In)); // laita ledin 1 tila inputin 1 tilan avulla.
/* Tulo 2 vaihta annon 2 tilaa */
if (iobuttonstate(D2In) == pressed)
ioput(D2Out , toggle);
/* tulo 3 vaihtaa annon 3 tilaa */
if (iobuttonstate(D3In) == pressed)
ioput(D3Out , toggle);
/* tulo 4 vaihtaa annon 4 tilaa*/
if (iobuttonstate(D4In) == released)
ioput(D4Out , toggle);
//---------------------- UART echo ------------------------------//
if (UARTBufferSize(1)!=0) // onko merkkejä Uart1:n RX bufferissa
{
int num=UARTBufferSize(1); // tarkasta ylivuoto
if (num > 20)
num = 19;
URXReport = UARTRead(1 , StringU1 , num); // Lue UART 1
// siirrä UART buffer- > UartStr merkkijonoon
StringU1[num] = '\0'; // merkkijonon loppumerkki
UARTWrite(1 , StringU1); // Tulosta sarjalliikenteelle ( Uart 1) merkit eli echo-toiminta
}
}
}
Käännä koodi ja lataa se ( USB-portti on minulla COM4)

Tarkkaile koodia tavallisella sarjaliikeenne ohjelmalla ( COM4)
Paina nappia ja WIFI adc hoc serveri on luotu !



Tässä toinen ohjelma se etsii WIFI verkot jotka ova näkyvillä Flyportille


Tässä langattoman kosteus- ja lämpömittarin kytkentä

Oma kokemus
Otin kaksi piirilevyä paketista ja laitoin ne yhteen.
Kytkin USB johdon ja latasin OpenPicus kääntäjän.
Käynnistin sen.
Asetin TCPIP asetukset Wizardilla ( kuva yllä) ja avasin tuon nappula prokjetin.
Käänsin sen ja latasin USBilla. Tässä vaiheessa piti hakea tieto, että USB on COM4.
Aikaa meni noin 15 minuuttia.
Tähän asti kaikki on toiminut niinkuin pitääkin.
Aina ennen radioprojetin tekeminen on ollut aika vaikeaa.
Ohjeita saa hieman selata ja API-ohje on kirjoitettu aika pienellä fontilla.
No pitää jossakin olla parantamisen varaa.
Jotta uusi serveri näkyisi WIFI asetukset pitää olla adhoc oman koneen WIFI asetuksissa
Kun 192.168.1.115 osoiteen avaa selaimella tulee näkyviin napit ja ADC arvot .
Nappeja voi painaa hiirellä ja napeilla. Molemmista vastaavat ledit vaihtavat tilaansa.
Pikkukuvissa näkyy vielä WIFI-asetukset ,jotka pitää olla oikein, AD-HOC, jotta kuka tahansa saa ne näkyviin.
16.3.2011 Pekka OH3GDO