Learn how to develop applications with the BeagleBone Black and open source Linux software
Sharpen your expertise in making sophisticated electronic devices
Explore the BeagleBone Black with this easy-to-succeed recipe format
Who This Book Is For
If you are a hardware, Linux, and/or microcomputing novice, or someone who wants more power and possibilities with product prototypes, electronic art projects, or embedded computing experiments, then this book is for you. It is for Internet of Things enthusiasts who want to use more sophisticated hardware than the Raspberry Pi or the Arduino can provide.
Whether you are an engineering student, a DIYer, an inventor, or an advanced electronics enthusiast, this book delivers accessible, compelling instructions for using an advanced microcomputing platform.
What You Will Learn
Set up and run the BeagleBone Black for the first time
Learn the basics of microcomputing and Linux using the command line and easy kernel mods
Make introductory projects with Python, JavaScript, BoneScript, and Node.js
Explore physical computing and simple circuits using buttons, LEDs, sensors, and motors
Discover the unique features of the BeagleBone Black and its real-time computing functions
Build intermediate level audio and video applications
Assemble draft prototypes for wearable and Internet of Things devices
In Detail
With dozens of how-tos, this book kicks off with the basic steps for setting up and running the BeagleBone Black for the first time, from connecting the necessary hardware and using the command line with Linux commands to installing new software and controlling your system remotely. Following these recipes, more advanced examples take you through scripting, debugging, and working with software source files, eventually working with the Linux kernel. Subsequently, you will learn how to exploit the board's real-time functions. We will then discover exciting methods for using sound and video with the system before marching forward into an exploration of recipes for building Internet of Things projects. Finally, the book finishes with a dramatic arc upward into outer space, when you explore ways to set up test recipes for building a project on board a small satellite's payload.
Style and approach
This comprehensive recipe book deconstructs a complex, often confusing piece of technology, and transforms it to become accessible and fun with snappy, unintimidating prose, and extensive easy-to-succeed instructions.
updated@2016-04-15:
Current Raspbian Jessie come with PIL installed by default, but no ImageTk. If you run Python script reported with error: ImportError: cannot import name ImageTk
The previous post show a exercise of "Python to capture image from Pi Camera Module", blind shot without preview. It's modify to show preview continually, to framing before clicking capture button.
- To make the GUI and Camera preview run simultaneously, code for camera are moved to run in background thread, in camHandler().
- My target is to take the RPi/Camera Module outdoor, without display. So I remove camera.start_preview() and stop_preview(). By removing preview, the GUI response improved very much.
- The preview window update frame-by-frame, may be not so smooth! Anyway, better than nothing:(
- When click the Quit button, may be the Tkinter GUI closed before the background thread terminated, so may be have the error of "RuntimeError: Too early to create image" and 'Exception AttributeError:...". Just ignore for now.
In order to take my RPi outdoor to take photos using Camera Module, I prepare a simple Python program to capture image with GUI to easy capture image, with some simple control; such as sharpness, contrast, brightness, saturation and exposure_compensation.
Such that I can login my Pi (with xrdp installed) from mobile phone with GUI and run the Python to take photo.
Remark:
This code have to be run in terminal using python: $ python myPiCam.py
If run in IDLE, it will report following error in next run: PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)
Photo samples of Raspberry Pi Camera Module Pi NoIR, without and with Hoya R72 Infrared filter. All photos resized only, added with black frame and text, no any other touch up.
It seem that the photos using Hoya R72 filter are little blue, may be misfocused for infrared!
The Raspberry Pi 2 installed xrdp, such that I can remote login from mobile phone.
Just bought a Pi NoIR (Infrared version of Camera Module). Then I want to test the effect of infrared photo with Hoya R72 filter (for Infrared Photography to blocks Visible Light Up To 720nm). So I have to add a 52mm filter mount on the Raspberry Pi 2 case.
52mm Hoya R72 Infrared filter:
Attract something like Blu-Tack on a 27-52mm conversion ring:
Conceptualize and build state-of-art GUI applications with Tkinter
Tackle the complexity of just about any size GUI application with a structured and scalable approach
A project-based, practical guide to get hands-on into Tkinter GUI development
Who This Book Is For
Software developers, scientists, researchers, engineers, students, or programming hobbyists with basic familiarity in Python will find this book interesting and informative. People familiar with basic programming constructs in other programming language can also catch up with some brief reading on Python. No GUI programming experience is expected.
What You Will Learn
Get to know the basic concepts of GUI programming, such as Tkinter top-level widgets, geometry management, event handling, using callbacks, custom styling, and dialogs
Create apps that can be scaled in size or complexity without breaking down the core
Write your own GUI framework for maximum code reuse
Build apps using both procedural and OOP styles, understanding the strengths and limitations of both styles
Learn to structure and build large GUI applications based on Model-View-Controller (MVC) architecture
Build multithreaded and database-driven apps
Create apps that leverage resources from the network
Learn basics of 2D and 3D animation in GUI applications
Develop apps that can persist application data with object serialization and tools such as config parser
In Detail
Tkinter is the built-in GUI package that comes with standard Python distributions. It is a cross-platform package, which means you build once and deploy everywhere. It is simple to use and intuitive in nature, making it suitable for programmers and non-programmers alike.
This book will help you master the art of GUI programming. It delivers the bigger picture of GUI programming by building real-world, productive, and fun applications such as a text editor, drum machine, game of chess, media player, drawing application, chat application, screen saver, port scanner, and many more. In every project, you will build on the skills acquired in the previous project and gain more expertise.
You will learn to write multithreaded programs, network programs, database driven programs and more. You will also get to know the modern best practices involved in writing GUI apps. With its rich source of sample code, you can build upon the knowledge gained with this book and use it in your own projects in the discipline of your choice.
Style and approach
An easy-to-follow guide, full of hands-on examples of real-world GUI programs. The first chapter is a must read as it explains most of the things you need to get started with writing GUI programs with Tkinter. Each subsequent chapter is a stand-alone project that discusses some aspects of GUI programming in detail. These chapters can be read sequentially or randomly depending upon the readers experience with Python.
Microsoft announced that a new update to Windows 10 IoT Core is now available.
This release supports the new direct memory access bus driver that gives high performance access for GPIO. Additionally, this driver gives you the ability to use “Pin Muxing” rather than the default configuration.
Now have full support for the TX/RX pins on the Raspberry Pi2. Also included an in-box driver for the FTDI USB-to-serial chipset because many devices use that as the interface port for controlling them (for example, Home Automation Systems).
In this release, not only support the official Raspberry Pi Wi-Fi dongle, but also two Realtek Wi-Fi chipsets (RTL8188EU & RTL8192EU).
And it is easier to use existing Arduino Wiring Sketches, libraries, and hardware with Windows 10 IoT Core Universal Windows Apps (UWA). Simply drag-and-drop Arduino Wiring INO and/or library files into Visual Studio, connect hardware to a Windows 10 IoT Core device, and run the code. You'll also be able to mix your Arduino code with other UWA technologies like C# and XAML to get the best of both worlds.
python-gphoto2 is a comprehensive Python interface (or binding) to libgphoto2. This example show how to install python-gphoto2 on Raspberry Pi 2/Raspbian Jessie (2015-11-21 release), work with with libgphoto2 2.5.9.
- install python-gphoto2 with pip $ sudo pip install gphoto2
If you installed with pip the example files should be in /usr/share/python-gphoto2/examples or /usr/local/share/python-gphoto2/examples or somewhere similar. Otherwise they are in the examples sub-directory of your working directory. In Raspbian Jessie, it should be in /usr/local/share/python-gphoto2/examples.
To test the installed python-gphoto2, connect supported camera (D7000 in my case) to Raspberry Pi 2 via USB, power on the camera. run the script: $ python camera-summary.py $ python capture-image.py
Once finished, the installed gphoto2 is 2.5.9, but the libgphoto2 is 2.5.4. Updated@2015-12-11: gphoto2-updater script updated, it will remove both installed gphoto2 and libgphoto2-port10. So you need not remove libgphoto2-port10 by yourself, as described below.
Then I redo it, with removing libgphoto2-port10 before running the script. After finished, both the installed gphoto2 and libgphoto2 is 2.5.9.
(May be the author of the gphoto2-updater script will update the script soon.)