I have done a small research in the field of zigbee. But , a small conflict b/w using python or java or c for zigbee coding in case of remote monitoring .
closed as not a real question by Leon Heller, Dave Tweed♦, Olin Lathrop, Anindo Ghosh, Gustavo Litovsky Mar 18 '13 at 16:35It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question. |
|||||
|
I don't think you really understand what you are talking about here. "Zigbee", or IEEE 802.15.4, is a protocol. As such, it has no "programming language". Theoretically, it's completely possible to implement a system which can handle the zigbee protocol in any programming language, assuming that whatever language you're using has adequate hardware support to interface with whatever tranciever you are using. Realistically, in probably ~98% of the situations where you're building a IEEE 802.15.4 compatible system, you're going to be working with a small, embedded microprocessor. The fact that you're working on a small MCU, not the fact that the system needs to talk IEEE 802.15.4 is what is responsible for the fact that most IEEE 802.15.4 systems are programmed in C, as higher level languages (such as java or python) are ill-suited for running on small micros. |
|||||||||||||
|
For industrial applications on small MCUs, Ada could be on the list of candidates, especially where high reliability is necessary, as in medical applications. It's a compiled language like C, and has very good facilities for manipulating bits on ports, but it isn't available for every MPU. Arm, AVR and (experimentally) MSP430 processors can be targetted so far. As Ian's comment suggests, Ada is often written off without any regard to its actual capabilities, due to possibly obsolete opinions about limitations such as program size. Addressing the specific point, my smallest Ada executable on AVR is 65 bytes. Independent control of two stepper motors on the AdaFruit Motorshield came in about 600 bytes and up. A basic digital watch including display scanning and osc fault detection on MSP430, under a kilobyte of program memory; in all cases, only a few bytes of RAM required. On the other hand if you need full tasking, that does require more! EDIT: What compiler do I use? Basically gcc 4.72 built with --enable-languages=ada,c,c++ (aka Gnat). For AVR, the AVR-Ada project provides the necessary patches and script to build the compiler, plus minimal RTS, and device support. The front page only highlights an old (1.1) version, I recommend a dig around to get the newer 1.2.1 version with basic threading support. There is also commercial support for the AVR from Adacore, as well as a GPL version I haven't tried (select AVR-elf-windows as the platform) For MSP430, the tools are at a much more primitive stage, the project hasn't been around long and only tested on Linux. (I confess it's only my project so far) with - at the moment - no support for threading or >64k memory. For ARM, I can't suggest a specific toolchain but there are several including Dragonlace which covers Android. |
|||||||||||||||||||||
|
Well as Connor Wolf mentions, it's a protocol so you can write programs that communicate via that protocol in every language you want. I've done development where I wrote firmware for MCUs in C and tested them from my laptop with a USB->tranceiver dongle. I normally write the software to communicate with the USB dongle in Python. Usually you just manipulate a string (or a data structure that gets serialized to a string) and you send that off. |
|||
|