I Need A Development Environment Orientation

Started by rayhogan, January 11, 2013, 11:30:44 PM

Previous topic - Next topic

rayhogan

Hi Folks,

I'm a long term developer, but could use help getting started.

I've not done any Microcontroller development before and am not sure what components, software, ide's etc I need in order to begin using the     Mod-PIR-zigbee. I plan on using a series of them for Home automation. I think I currently have about 10 of them and plan on building a solar charger for keeping each of them up and running. I also plan on interfacing them to Mcontrol software (home automation software) and doing many different energy saving things with them like coding a smart thermostat, notifying when doors are left open, controlling my pools' pump to save energy etc.

Ideally a major step by step would be helpful...

I'm simulating what information posters would post, but this is the level of understanding I am seeking.

Also, typical things people will normally do when they get a device ... Perhaps most people reprogram it? I see some postings about the correct protocol stack to use, etc...

Another specific thing, is how to communicate with the Zigbee controller when it is on the MPD_PIR board? Do I go through another olimex product, do I use terminal software, etc, etc..

Basically, I need help in getting started.


Equipment needed
Board x allows programming of the onboard PIC
Interface Y lets you do such and such
You will need a compiler and an IDE, some of the most popular ones are ...
To program your PIC, you compile it then use XYZ to load it into the onboard memory
You upload it to the pic using ...

For debugging, you are best served by... Bla Bla.


Also,
any links to tutorials on using the IDE, development language or on PIC etc is helpful.

Finally, I like staying mainstream and with the most popular DIY solutions as to have a deeper knowledge base and materials to pull from.


Thanks in advance for any or all you can offer.

Ray
Branchburg, NJ
USA

fruttenboel

We are in similar situations. I aquired an Olimex MX220 Pinguino board but the Pinguino IDE does not run on my systems (Slackware 12.2). I could use MPLAB X but I'm not sure.

I also got a SparkFun UBW board. It's nice, as a demonstration but the documentation so far is Windows only. I need a lot of digging to get things working on my Linux machines. And the UBW is rather limited.

When going through similar sites, I ran into a few boards that have (to my opinion) the most potential :

1: ChipKit UNO32
2: Olimex Duinomite Mega
3: Olimex Duino Maple

All three have powerful processors, bootloaders and rely on a specific IDE.

The UNO32 is made in USA so that's still a plus, I guess.
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,892,893&Prod=CHIPKIT-UNO32

The Duinomite range behaves like a super potent ZX Spectrum. Connect a TV and PS/2 keyboard and run it with the internal BASIC. At 80 MHz, BASIC runs as fast as assembly on a 4.77 MHz IBM PC.
https://www.olimex.com/Products/Duino/Duinomite/DUINOMITE-MEGA

The Maple is very close to the Arduino, runs with a lightweight Maple IDE (works OOTB with Slackware) and cheap.
https://www.olimex.com/Products/Duino/STM32/OLIMEXINO-STM32/

For the moment, the Maple looks like the best choice for me. Perhaps for you too. I just ordered one. I feel comfortable with the specs.

eagleeye

#2
At least for me, I am using a PIC-WEB REV C to control a DIGI XBEE controller.
The uart TTL level outputs are on the UEXT.

I patch into the UART isr to receive data into my own buffer and I send data out
by putting raw ascii data into the Uart register.

At least for PIC-WEB, MULTIPLE DISCIPLINES are required to develop a proper working
solution. you have to put in check code to ensure that Serial buffer do not overflow
otherwise the tcp stack may hang due to memory damage. Also commands like sprintf()
needs to be used carefuly
to ensure that the formatting of the char string will not cause an oveflow because
a variable was not properly null terminated.

PIC-WEB development (microchip tcp stack) requires the following discipline
A. Good knowledge of C language
B. GOod knowledge of MPLABX IDE (free)
C. Good knowledge of Ajax (default package has excellent examples)
D. Good knowledge of Javascript
E. Good knowledge of HTML coding by hand (you can use dreamweaver to help you but you have to
prune automatically generated code to save space)
F. Good knowledge of programming in general - to understand and catch bugs
G. Good knowledge of the PIC processor and its registers
H. Good knowledge electronics and how to smooth out noise, how to do A/D sampling well
I. learning how to program  within a state machine (thats how the tcp stack works)
J. I am sure there is much much more. its a very steep learning curve for the beginner.

If your equipment is to be battery powered, you need even more electronics knowledge on
counting curret draw and how to put the board to sleep, how to manage RF transmision to
reduce power etc..

Even after you do all this, if your project is for a COMMERCIAL client, the olimex pic-web for
example is NOT UL listed or CE certified by itself and even if it was, the parts that you add
to it would have to cause the whole solution to need to pass through CE and UL certification one
more time.

In case something happens, the lawyers cannot pin the blame on you.

I would be good for Olimex to offer consultancy service or to make available a web based live
orientation course for a reasonable fee.