I am new to this forum and to intel boards in general. I am a studying at Université Pierre et Marie Curie in Paris, France. I have helped to create a fablab at our university and we have aquired 20 Intel Galileo Gen 2, couretsy of Intel (thanks guys).
I recently discovered the Galileo Gen 2 (last week) and found the online documentation for beginners to be very fractured and not complete (from a newbie's stand point). I have written a complete beginners guide to using the Galileo and plan on sharing it with the students of UPMC & the FABlab SU.
http://fablab.sorbonne-universites.fr/wiki/doku.php?id=wiki:tutoriels:intel_galileo wiki:tutoriels:intel_galileo [FablabSU]
I was wondering If i could get any feed-back from a more knowledable community. Any and all corrections/insights/improvements (or especially contributions) would be greatly appreciated!
We agree on
I recently discovered the Galileo Gen 2 (last week) and found the online documentation for beginners to be very fractured and not complete (from a newbie's stand point).
and I think one of the problems is that it is not very clear the whole set of options to develop: bare/local Linux, Intel IDEs, Arduino IDE, etc. I've decided to go on the "Arduino side", and my first post in contributing something (beyond specific replies to specific problems) is
The other well known problem for beginners as well as for makers is assuming that
The card is entirely compatible with all capteurs/commands/libraries that are used with the Arduino Uno R3
which is not true. Furthermore, Intel has released the "Intel® Galileo Board, Intel® Galileo Gen 2 Board, and Intel® Edison Board Shield Testing Report", http://download.intel.com/support/Galileo-Edison_ShieldTestReport_330937-002.pdf http://download.intel.com/support/Galileo-Edison_ShieldTestReport_330937-002.pdf (I don't know if there is a newer one). It does not mean Intel Galileo is not useful, of course. Actually, I've been involved in several projects using it. It's just we should be careful to avoid technical difficulties and documentation errors.
Thanks for contacting us!
First, we would like to congratulate you, this is a very complete beginner's guide, and we're sure it will help a lot of students.
Moreover, the Intel Galileo is Arduino-Certified and designed to be hardware-, software-, and pin-compatible with a wide range of Arduino Uno R3 shields, however as FGT has mentioned, it is not entirely compatible and Intel has released the http://www.intel.com/content/www/us/en/support/boards-and-kits/000020775.html Intel® Galileo Board, Intel® Galileo Gen 2 Board, and Intel® Edison Board Shield Testing Report, it is very useful.
In addition, there are two Intel Galileo versions, Gen1 and Gen2, looking at the "Galileo Basics" section the picture posted is from Gen1 instead of the Gen2 that is the one you have. There are some differences between them, the main differences could be the power supply (Gen1 5V and Gen2 7-15V) and the serial terminal (Gen1 DB-9-to-3.5mm audio cable and Gen2 6-pin Serial to Type A USB cable), so that picture could be a little bit confusing.
We would like to let you know that in case you have any questions or need further assistance, you can always use the Community and we'll be happy to help you as well as your students.
Hey FGT & Yermi,
I appreciate both of your responses! The "Board Testing Report" is an actual gold mine of information, thank you both for sharing. I am currently occupied studying for my final exams for this semester so I have not had the time to update my wiki. I will certainly include your noted corrections concerning Arduino compatibilty, as well as the photo error (I agree that can be very confusing right off the bat, and turn new readers off).
I had a few more specific questions that I need answers to in order to complete my tutorial:
- How can I best use Lighttpd, does anybody know of any good tutorials?
- How can i get Node's npm commands to work? I have found many tutorials online that require the use of " npm install galliel-io", however I constantly recieve "npm -comand not found" and therefore I am stuck
- Does intel have any tutorial series for js and node.js? I would really like to take advantage of this toolkit, but I have never actually writen java. I have taken classes in C, Python, and Fortran so I'm looking for more "project based" tutorials that will get me comfortable with the syntax and accepted formating
- Is there anything not in my tutorial that has been overlooked?
FGT, in regards to your comment:one of the problems is that it is not very clear the whole set of options to develop: bare/local Linux, Intel IDEs, Arduino IDE
I would like to expand upon this within the "Galileo Basics" section, as I too found this to be very confusing. When I first looked into galileo, I encountered tutorials using Arduino, others focusing on custom linux builds and finally the use of intel XDK. Not having spent too much time using the XDK IDE, it is hard for me to really compare the different methods.
If i were to try to summarize what I understand about the Galileo:
The Intel Galileo Gen 2 is a great cross-over product that will appeal to a regular Arduino user because of it's high level of compatability. However, the real interest of the Galileo, and a defining difference when compared to the RaspPi, is the integration of the Node.js libraries and compatibility with Intel's XDK. It seems that for somebody who is really interested in IoT would probably bypass the Arduino IDE as using Nodes will allow the programmer to write in one language to both create a server/front-end/ and IO control.
Hey FGT & Yermi,
I appreciate both of your responses!
If i were to try to summarize what I understand about the Galileo:
...However, the real interest of the Galileo, and a defining difference when compared to the RaspPi
I would not go that way. Even when you may look/identify many similarities, Intel Galileo and RaspPi have strong differences from its roots/design objectives. While the Intel Galileo has been designed for makers, (some degree of) Arduino compatibility and, in general, embedded designs, RaspPi was designed to have a whole (low cost) computer.
At our Fablab, we have arduinos (uno, mega, lily, nano) with many supporting shields. We also have beagle boards, RasPi, and Seeed. We also have CNC machines that allow us to make our own boards such as MIT's opensource "fabduino". Now that we have these Galileo's, we would definatly like to exploit them and contribute to the online community. One of the problems that we have currently is giving a very precise reason for using the Galileo over other boards.
For now, one of the large hurdles is that the online documentation is scattered (which I am trying to work on), so getting new members to jump in is quite difficult as the online communities for the RasPi and Arduino are MUCH larger. The other problem is that, it (using strictly the Arduino IDE) doesn't seem to offer any real advantage over the Arduino + Ethernet Sheild which is cheaper and fully compatabile, with a large community.
The arguments that (I think) I understand are that using the galileo allows the use of Node.js & XDK which seems to be a powerful dev kit for making nice apps with IO control. This can also be done with Arduino, but from the research that I have done, node.js seems to offer more control and a large online comunity that focuses on app devellopement. Another possible advantage seems to be that it is a good entry point for the rest of the Intel line which seems to be oriented a bit more towards the commerical IoT devellopement community.
If a student were to ask you "for which projects should I choose the Galileo?" or "for which projects is the Galileo BEST suited for?" or finally "Why should I use a Galileo and not X?"
Mind you, I like the Galileo and look forward to discovering the other Intel Boards this semester. As of now, I am really interested in growing the community as well as offering a collection of boards to our members at the FABlab SU. Again, thanks again for your responses! I am taking note of everything and will be updating the Wiki within the next couple days.
You can find different IDEs to program the Intel Galileo depends on the programing language you want to develop in, the choices are: Arduino*, Intel XDK (JaveScript* and Node.js*), Intel System Studio IoT Edition (C/C++, Java*), Python (Even though Intel doesn't provide an IDE, it comes preinstalled on the board). Take a look at the following link for more details: https://software.intel.com/en-us/installing-your-ide-intel-edison-board Installing your integrated development environment (IDEs).
Additionally, in these links you can find how to install npm and information regarding Lighttpd that you can find useful:
- /message/416342 Linux image - npm command
- https://www.npmjs.com/package/galileo-io https://www.npmjs.com/package/galileo-io
- https://wiki.archlinux.org/index.php/lighttpd https://wiki.archlinux.org/index.php/lighttpd
Moreover, regarding your last question, absolutely, Node.js and Intel XDK are powerful tools for making great projects, that the Galileo platform offers, also it includes hardware advantages like Ethernet port, USB host, Micro-SD card compatible, Mini-PCIe connector, RTC maintained by coil battery that in case you want to use an Arduino you should buy some shields to meet that requirements.
Hope this information helps.