- Paperback: 336 pages
- Publisher: McGraw-Hill Education; 1 edition (November 3, 2015)
- Language: English
- ISBN-10: 0071842012
- ISBN-13: 978-0071842013
- Product Dimensions: 7.4 x 0.7 x 9.1 inches
- Shipping Weight: 12.6 ounces (View shipping rates and policies)
- Average Customer Review: 8 customer reviews
Amazon Best Sellers Rank:
#759,736 in Books (See Top 100 in Books)
- #202 in Books > Engineering & Transportation > Engineering > Telecommunications & Sensors > Mobile & Wireless
- #203 in Books > Engineering & Transportation > Engineering > Electrical & Electronics > Electronics > Microelectronics
- #230 in Books > Engineering & Transportation > Engineering > Electrical & Electronics > Digital Design
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Raspberry Pi with Java: Programming the Internet of Things (IoT) (Oracle Press) 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
About the Author
Stephen Chin is a Java Ambassador for Oracle specializing in embedded and UI technology, and the JavaOne Content Chair. He has been featured at Java conferences worldwide. When he is not traveling, Stephen enjoys teaching kids how to do embedded and robot programming together with his 11-year-old daughter.
James L. Weaver is a Java Ambassador for Oracle, developer, author, teacher, and international speaker focused on client-side Java, robotics, and the internet of things (IoT). He tweets at @JavaFXpert.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
To clarify what this book is not ... This book is not a programmer's reference guide. It is not intended to provide a comprehensive reference for available APIs and libraries. It is not an exhaustive textbook covering every development pattern and/or capability of Java on the Raspberry Pi platform. This book does not teach you Java programming. If you are new to Java, I would suggest getting some other books or online introductory courses to learn the basics of Java programming and then use this book to to get started with Java on the Raspberry Pi.
The book takes a fun and sometimes whimsical approach while sneaking in some educational instruction along the way. Personally, I prefer this type of example-based learning approach. I find that engaging in sample projects with concrete goals helps me better understand the subject at hand and seeing a completed project provides a more comprehensive end-to-end understanding.
I think this is a great book for any Java programmer just getting started on the Raspberry Pi platform. The book does a good job of providing detailed and comprehensive instructions, wiring diagrams, and illustrations for each project. The only technical area that I wish the book took a deeper dive would be more details instruction and demonstration on using the SPI and I2C data bus communications from a Java program. This is a slightly more advanced topic but it does add a lot more extensibility for the would-be maker.
[MY FULL REVIEW IS AVAILABLE ON MY SITE AT http://www.savagehomeautomation.com/rpijp]
FOLLW UP: Recent Updates to Pi4J
The Pi4J project, like any open source project, continues to march forward with new features and improvements. Since the time of this book’s writing there are a few noteworthy updates to Pi4J to point out:
-GPIO Performance -
We have significantly optimized the GPIO performance when using the standard Pi4J GPIO interfaces. It’s still slower than using the WiringPi wrapper API directly because there is still a fair bit of software validation and error handling logic behind the scenes in the Pi4J implementation but it is much improved over the 0.751 kHz benchmark using Pi4J and the 3.048 kHz benchmark using Device I/O (DIO) discussed on page 96. Using the same test code as the author with the same platform, a Raspberry Pi B+, we now achieve a benchmark of ~500 kHz using the normal Pi4J interfaces. That's a whopping 665% performance gain! Note, I did have to up the number of iterations in the test program to lengthen the sample time. I also independently validated the result using an Oscilloscope to measure the frequency generated on the GPIO pin. If you upgrade to the newer Raspberry Pi 2B you can get further improved benchmark of ~1000 kHz (1 MHz).
-Pin Numbering Schemes -
While the Pi4J/WiringPi numbering scheme is the default and most commonly used numbering scheme used in conjunction with Pi4J, the library also supports the Broadcom pin numbering scheme. An example program is included in the Pi4J Examples project that demonstrates how to use the Broadcom pin numbering scheme.
-Platform Support -
Chapter 3 mentions that Pi4J is exclusive to the Raspberry Pi and while that was true at the time of writing, we recently added support for additional platforms including the BananaPi and BananaPro platforms. We are also actively working to support the Odroid platform as well as the OrangePi platforms. Pi4J does depend on a WiringPi port for each of these platforms, so the platform support is still specialized for each platform and not a universal or generic platform implementation. A sample program demonstrating usage on the BananaPi platform is included in the Pi4J examples.
Serial (UART) Support - Pi4J now includes the full complement of serial configuration options for parity, stop bits, data bits. Please note that there unfortunately is a breaking API change in the new serial implementation starting with version 1.1-SNAPSHOT. The original serial API was just far too over-simplified for some of the real world needs of serial communications. We have updated the entire serial interface and underlying serial implementation to provide a much improved and more sophisticated serial communications support.
This book was provided to me at no cost for peer review purposes.
This book includes topics on the Pi4J Project which is an open-source project that I founded and an actively engaged.
So even if you never have touched some electronics hardware you will find everything you need to get started in this book.
There is also source code in the book but only to explain important parts, the complete source code of all the examples is available on the internet which makes sense because you won't really type in all the code from the book.
The authors take you from simple things like switching LED's to measuring data by using different technologies like I2C, UART and more. The projects are getting more complex to the end of the book and they cover most of the principles of hardware io that you need to build your own things. One thing that I really like is the fact that the authors always put a list with all the things you need for each project in the beginning of the chapter. You will also find links to the stores where you can buy those hardware. The last chapter of the book covers the so called Retro-Pi which is a gaming console that is based on the Raspberry Pi. It uses Java to run a lot of retro games and you can also assemble it by yourself if you have a 3D printer. There are good instructions on how to built this Retro-Pi and let me tell you it's not so easy to build.
If you don't have a 3D printer you will find services on the internet that offer 3D prints of your designs. So could download the 3D files for the Retro-Pi also from the internet and let them print by one of those 3D printing services on the web.
Another interesting project of the book let you create some kind of a tea maker. The Raspberry Pi will help you to brew the perfect tea for you which is fun because it covers again ways on how to access standard hardware with the Raspberry Pi.
What I like about this book is the fact that it not only covers the basics but also takes it one step further. There is one example that covers GPIO access using Java with different approaches. It will show how to make use of the great Pi4J library, Oracles DIO project and a JNI approach for really fast GPIO access (like for BitBanging etc.).
Overall this is a great book for people that would like to start building their own IoT projects using Java and the Raspberry Pi.
A good number of projects are very hands-on with an emphasis on the engineering side of things as opposed to the software side (solely a software developer). If you like to build cool gadgets and comfortable with the Java programming language I urge you to get this book.
My only issue (tiny) is the paperback book’s illustrations are in black and white (gray-scale) which can make it difficult to see things such as colored resistors in the Fritzing diagrams or JavaFX UIs (User Interfaces). I believe the PDF version might be in color, but I’ve not seen it yet (just a hunch). But, overall I give this book a two thumbs up. By far, this book is the most comprehensive book combining two great technologies with a plethora of amazing DIY projects to date.
Check out my full book review at: