Digital Design (VHDL): An Embedded Systems Approach Using VHDLPeter J. Ashenden  
More Details

Digital Design: An Embedded Systems Approach Using VHDL provides a foundation in digital design for students in computer engineering, electrical engineering and computer science courses. It takes an up-to-date and modern approach of presenting digital logic design as an activity in a larger systems design context.

Rather than focus on aspects of digital design that have little relevance in a realistic design context, this book concentrates on modern and evolving knowledge and design skills. Hardware description language (HDL)-based design and verification is emphasized—VHDL examples are used extensively throughout. By treating digital logic as part of embedded systems design, this book provides an understanding of the hardware needed in the analysis and design of systems comprising both hardware and software components.

Includes a Web site with links to vendor tools, labs and tutorials.

Presents digital logic design as an activity in a larger systems design context.

Features extensive use of VHDL examples to demonstrate HDL usage at the abstract behavioural level and register transfer level, as well as for low-level verification and verification environments.

Includes worked examples throughout to enhance the reader's understanding and retention of the material.

Companion Web site includes links to CAD tools for FPGA design from Synplicity, Mentor Graphics, and Xilinx, VHDL source code for all the examples in the book, lecture slides, laboratory projects, and solutions to exercises.

USB Complete: Everything You Need to Develop Custom USB PeripheralsJan Axelson  
More Details

Now in its third edition, this developer's guide to the Universal Serial Bus (USB) interface covers all aspects of project development, including device programming and host application software. This book shows how to transform the information in the USB 3.0 specifications into functioning devices and application software that communicates with the devices. To help build a foundation for design decisions, developers are guided in selecting device-controller hardware. Developers will also learn the benefits of the USB interface, its limitations, and how certain design choices made at the beginning of the project can reduce development time. Recent developments in host and device hardware, more detail on the standard USB classes, application examples using Microsoft's .NET Framework, and information on developing dual-role devices using USB On-The-Go is provided in detail.

Developing Nextstep Applications/Book and DiskGene Backlin  
More Details

Developing NEXTSTEP Applications will provide beginning NeXT programmers with an approach to the NEXTSTEP environment that will lay a solid foundation. Gene Backlin not only shows how things happen in the NeXT environment, but why they happen as well. It will serve as a tremendous reference book in the future.

Mastering OpenCV with Practical Computer Vision ProjectsDaniel Lélis Baggio, Shervin Emami, David Millán Escrivá, Khvedchenia Ievgen, Naureen Mahmood, Jasonl Saragih, Roy Shilkrot  
More Details

This is the definitive advanced tutorial for OpenCV, designed for those with basic C++ skills. The computer vision projects are divided into easily assimilated chapters with an emphasis on practical involvement for an easier learning curve.

OverviewAllows anyone with basic OpenCV experience to rapidly obtain skills in many computer vision topics, for research or commercial useEach chapter is a separate project covering a computer vision problem, written by a professional with proven experience on that topic.All projects include a step-by-step tutorial and full source-code, using the C++ interface of OpenCV.

In Detail

Computer Vision is fast becoming an important technology and is used in Mars robots, national security systems, automated factories, driver-less cars, and medical image analysis to new forms of human-computer interaction. OpenCV is the most common library for computer vision, providing hundreds of complex and fast algorithms. But it has a steep learning curve and limited in-depth tutorials.

Mastering OpenCV with Practical Computer Vision Projects is the perfect book for developers with just basic OpenCV skills who want to try practical computer vision projects, as well as the seasoned OpenCV experts who want to add more Computer Vision topics to their skill set or gain more experience with OpenCV's new C++ interface before migrating from the C API to the C++ API.

Each chapter is a separate project including the necessary background knowledge, so try them all one-by-one or jump straight to the projects you're most interested in.

Create working prototypes from this book including real-time mobile apps, Augmented Reality, 3D shape from video, or track faces & eyes, fluid wall using Kinect, number plate recognition and so on.

Mastering OpenCV with Practical Computer Vision Projects gives you rapid training in nine computer vision areas with useful projects.

What you will learn from this bookPerform Face Analysis including simple Face & Eye & Skin Detection, Fisherfaces Face Recognition, 3D Head Orientation, complex Facial Feature Tracking.Do Number Plate Detection and Optical Character Recognition (OCR) using Artificial Intelligence (AI) methods including SVMs and Neural NetworksLearn Augmented Reality for desktop and iPhone or iPad using simple artificial markers or complex markerless natural imagesGenerate a 3D object model by moving a plain 2D camera, using 3D Structure from Motion (SfM) camera reprojection methodsRedesign desktop real-time computer vision applications to more suitable Android & iOS mobile appsUse simple image filter effects including cartoon, sketch, paint, and alien effectsExecute Human-Computer Interaction with an XBox Kinect sensor using the whole body as a dynamic input


Each chapter in the book is an individual project and each project is constructed with step-by-step instructions, clearly explained code, and includes the necessary screenshots.

Who this book is written for

You should have basic OpenCV and C/C++ programming experience before reading this book, as it is aimed at Computer Science graduates, researchers, and computer vision experts widening their expertise.

Maximum Lego NXT: Building Robots with Java BrainsBrian Bagnall  
More Details

Over two dozen fun and challenging projects using the next generation of LEGO® MINDSTORMS™ and the Java™ programming language
LEGO® MINDSTORMS™ NXT is an incredible new kit for building and programming your own robotic inventions. Maximum Lego NXT introduces a diverse set of projects, building tips, programming code, complete 3D rendered building instructions and hundreds of illustrations to help you realize your robotic dreams.
Using Java™, the most popular and easy to use programming language available, this book will give you endless entertainment and exploration. It introduces the new LEGO® NXT kit, including the NXT intelligent brick and Bluetooth™.   Maximum NXT includes:   • Easy to follow instructions by the author of Core LEGO® MINDSTORMS™ Programming    • Explanations for all available sensors and expansion products available for the NXT kit, including unique projects interfacing a video camera, cell phone, GPS, data gloves, and many more    • An exciting collection of 14 robots, including a chess playing robot, an exoskeleton for your hand, a Mars Rover, a robotic arm you can control through the Internet, a 3D object scanner, soccer robots, and many more    • Introduces over two dozen in-depth programming projects including navigation, mapping, precise robotic arm control, voice control and global localization    • Artificial Intelligence concepts including Vision analysis, Rodney Brooks' Subsumption Architecture, and Reinforcement Learning    • Exciting projects that use third-party sensors like compass, tilt sensor, and port expanders    • A full chapter on building with the new LEGO stud-less brick paradigm.    • A complete tutorial on programming Java™     • How to install a free development environment for leJOS NXJ, the Java™ Virtual Machine for the NXT   • Foreword by Søren Lund, Director of LEGO MINDSTORMS
Maximum LEGO NXT is the ultimate LEGO MINDSTORMS guide:
• Meet NXT • leJOS NXJ • Java for Primates • The leJOS NXJ API • LEGO Parts • Building 101 • Bite into Bluetooth • Grabby Robots • Sound • Robots with Vision • Standing Tall • Localization • Mapping • Path-finding • Hands & Exoskeletons • Network Robotics • Scanning • Behavior-Based Robots • Expanding the NXT • GPS & Harsh Terrain • Speech • Appendices • Index

Program the Internet of Things with Swift for iOSAhmed Bakir, Manny de la Torriente, Gheorghe Chesler  
More Details

Program the Internet of Things with Swift and iOS is a detailed tutorial that will teach you how to build apps using Apple’s native APIs for the Internet of Things, including the Apple Watch, HomeKit, and Apple Pay. This is the second book by Ahmed Bakir (author of Beginning iOS Media App Development) and his team at devAtelier LLC, who have been involved in developing over 20 mobile projects.

Written like a code review, this book presents a detailed "how" and "why" for each topic, explaining Apple-specific design patterns as they come up and pulling lessons from other popular apps. To help you getting up and running quickly, each chapter is framed within a working project, allowing you to use the sample code directly in your apps.

The Internet of Things is not limited to Apple devices alone, so this book also explains how to interface with popular third-party hardware devices, such as the Fitbit and Raspberry Pi, and generic interfaces, like Restful API’s and HTTPS. The Internet of Things is waiting ― be a part of it!

Pro Data Visualization using R and JavaScriptTom Barker  
More Details

Pro Data Visualization using R and JavaScript makes the R language approachable, and promotes the idea of data gathering and analysis. You'll see how to use R to interrogate and analyze your data, and then use the D3 JavaScript library to format and display that data in an elegant, informative, and interactive way. You will learn how to gather data effectively, and also how to understand the philosophy and implementation of each type of chart, so as to be able to represent the results visually.

With the popularity of the R language, the art and practice of creating data visualizations is no longer the preserve of mathematicians, statisticians, or cartographers. As technology leaders, we can gather metrics around what we do and use data visualizations to communicate that information. Pro Data Visualization using R and JavaScript combines the power of the R language with the simplicity and familiarity of JavaScript to display clear and informative data visualizations.

Gathering and analyzing empirical data is the key to truly understanding anything. We can track operational metrics to quantify the health of our products in production. We can track quality metrics of our projects, and even use our data to identify bad code. Visualizing this data allows anyone to read our analysis and easily get a deep understanding of the story the data tells. What you’ll learn A rich understanding of how to gather, and analyze empirical dataHow to tell a story with data using data visualizationsWhat types of data visualizations are best to use for the story that you want to tell with your dataA comprehensive introduction to the R language, covering all the essentials Exploration of how to construct interactive data visualizations using JavaScript and JavaScript librariesWho this book is for

Developers at all levels interested in data visualization, beginning to intermediate engineering managers, statisticians, mathematicians, economists and any others interested in data visualization. Table of Contents Techniques for Data Visualization The R Language A Deeper Dive into R Data Visualization with D3 Visualizing Spatial Information from Access Logs (Data Maps) Visualizing Defects over Time (Time Series) Bar Charts Correlation Analysis with Team Dynamics (Scatterplot and Bubble Chart)Balancing Delivery with Quality (Parallel Coordinates Chart)

Bad to the Bone: Crafting Electronics Systems with Beaglebone and BeagleBone BlackSteven Barrett, Jason Kridner  
More Details

This comprehensive book provides detailed materials for both novice and experienced programmers using all BeagleBone variants which host a powerful 32-bit, super-scalar TI Sitara ARM Cortex A8 processor. Authored by Steven F. Barrett and Jason Kridner, a seasoned ECE educator along with the founder of, respectively, the work may be used in a wide variety of projects from science fair projects to university courses and senior design projects to first prototypes of very complex systems. Beginners may access the power of the "Bone" through the user-friendly Bonescript examples. Seasoned users may take full advantage of the Bone's power using the underlying Linux-based operating system, a host of feature extension boards (Capes) and a wide variety of Linux community open source libraries. The book contains background theory on system operation coupled with many well-documented, illustrative examples. Examples for novice users are centered on motivational, fun robot projects while advanced projects follow the theme of assistive technology and image processing applications.

Wireshark EssentialsJames H. Baxter  
More Details

Get up and running with Wireshark to analyze network packets and protocols effectivelyAbout This Book Troubleshoot problems, identify security risks, and measure key application performance metrics with WiresharkGain valuable insights into the network and application protocols, and the key fields in each protocolConfigure Wireshark, and analyze networks and applications at the packet level with the help of practical examples and step-wise instructionsWho This Book Is For

This book is aimed at IT professionals who want to develop or enhance their packet analysis skills. Basic familiarity with common network and application services terms and technologies is assumed; however, expertise in advanced networking topics or protocols is not required. Readers in any IT field can develop the analysis skills specifically needed to complement and support their respective areas of responsibility and interest. In Detail

This book introduces the Wireshark network analyzer to IT professionals across multiple disciplines.

It starts off with the installation of Wireshark, before gradually taking you through your first packet capture, identifying and filtering out just the packets of interest, and saving them to a new file for later analysis. The subsequent chapters will build on this foundation by covering essential topics on the application of the right Wireshark features for analysis, network protocols essentials, troubleshooting, and analyzing performance issues. Finally, the book focuses on packet analysis for security tasks, command-line utilities, and tools that manage trace files.

Upon finishing this book, you will have successfully added strong Wireshark skills to your technical toolset and significantly increased your value as an IT professional.

C Programming for ArduinoJulien Bayle  
More Details

In Detail

Physical computing allows us to build interactive physical systems by using software & hardware in order to sense and respond to the real world. C Programming for Arduino will show you how to harness powerful capabilities like sensing, feedbacks, programming and even wiring and developing your own autonomous systems.

C Programming for Arduino contains everything you need to directly start wiring and coding your own electronic project. You’ll learn C and how to code several types of firmware for your Arduino, and then move on to design small typical systems to understand how handling buttons, leds, LCD, network modules and much more.

After running through C/C++ for the Arduino, you'll learn how to control your software by using real buttons and distance sensors and even discover how you can use your Arduino with the Processing framework so that they work in unison. Advanced coverage includes using Wi-Fi networks and batteries to make your Arduino-based hardware more mobile and flexible without wires. If you want to learn how to build your own electronic devices with powerful open-source technology, then this book is for you.


Written as a practical Packt book brimming with engaging examples, C Programming for Arduino will help those new to the amazing open source electronic platform so that they can start developing some great projects from the very start.

Who this book is for

This book is great for people who want to learn how to design & build their own electronic devices. From interaction design art school students to the do-it-yourself hobbyist, or even simply people who want to learn electronics, this book will help by adding a new way to design autonomous but connected devices.

Beginning Sensor Networks with Arduino and Raspberry PiCharles Bell  
More Details

Beginning Sensor Networks with Arduino and Raspberry Pi teaches you how to build sensor networks with Arduino, Raspberry Pi, and XBee radio modules, and even shows you how to turn your Raspberry Pi into a MySQL database server to store your sensor data!

First you'll learn about the different types of sensors and sensor networks, including how to build a simple XBee network. Then you'll walk through building an Arduino-based temperature sensor and data collector, followed by building a Raspberry Pi-based sensor node.

Next you'll learn different ways to store sensor data, including writing to an SD card, sending data to the cloud, and setting up a Raspberry Pi MySQL server to host your data. You even learn how to connect to and interact with a MySQL database server directly from an Arduino! Finally you'll learn how to put it all together by connecting your Arduino sensor node to your new Raspberry Pi database server.

If you want to see how well Arduino and Raspberry Pi can get along, especially to create a sensor network, then Beginning Sensor Networks with Arduino and Raspberry Pi is just the book you need.

What you’ll learn How to build sensor nodes with both Arduino and Raspberry Pi!What is XBee?What methods you have for storing sensor dataHow you can host your data on the Raspberry PiHow to get started with the MySQL database connector for ArduinoHow to build database enabled sensor networksWho this book is for

Electronics enthusiasts, Arduino and Raspberry Pi fans, and anyone who wants hands-on experience seeing how these two amazing platforms, Arduino and Raspberry Pi, can work together with MySQL. Table of Contents 1. Introduction to Sensor Networks

2. Tiny Talking Modules: An Intro to Xbee Wireless Modules

3. Arduino-Based Sensor Node

4. Rapberry Pi-based Sensor Notes

5. Where to Put It All: Storing Sensor Data

6. Turning Your Raspberry Pi into a Database Server

7. MySQL and Arduino: United at Last!

8. Building Your Network: Arduino Wireless Aggregator + Wireless Sensor Node + Raspberry Pi Server

9. Planning Wireless Sensor Networks

10. Shopping List

MySQL for the Internet of ThingsCharles Bell  
More Details

This book introduces the problems facing Internet of Things developers and explores current technologies and techniques to help you manage, mine, and make sense of the data being collected through the use of the world’s most popular database on the Internet - MySQL.

The IoT is poised to change how we interact with and perceive the world around us, and the possibilities are nearly boundless. As more and more connected devices generate data, we will need to solve the problem of how to collect, store, and make sense of IoT data by leveraging the power of database systems.

The book begins with an introduction of the MySQL database system and storage of sensor data. Detailed instructions and examples are provided to show how to add database nodes to IoT solutions including how to leverage MySQL high availability, including examples of how to protect data from node outages using advanced features of MySQL.

The book closes with a comparison of raw and transformed data showing how transformed data can improve understandability and help you cut through a clutter of superfluous data toward the goal of mining nuggets of useful knowledge.

In this book, you'll learn to: Understand the crisis of vast volumes of data from connected devicesTransform data to improve reporting and reduce storage volumeStore and aggregate your IoT data across multiple database serversBuild localized, low-cost MySQL database servers using small and inexpensive computersConnect Arduino boards and other devices directly to MySQL database serversBuild high availability MySQL solutions among low-power computing devices

Introducing GitHub: A Non-Technical GuidePeter Bell, Brent Beer  
More Details

If you’re new to GitHub, this concise book shows you just what you need to get started and no more. It’s perfect for project and product managers, stakeholders, and other team members who want to collaborate on a development project—whether it’s to review and comment on work in progress or to contribute specific changes. It’s also great for developers just learning GitHub.

GitHub has rapidly become the default platform for software development, but it’s also ideal for other text-based documents, from contracts to screenplays. This hands-on book shows you how to use GitHub’s web interface to view projects and collaborate effectively with your team. Learn how and why people use GitHub to collaborateView the status of a project—recent changes, outstanding work, and historic changesCreate and edit files through GitHub without learning GitSuggest changes to projects you don’t have permission to edit directlyUse tools like issues, pull requests, and branches to specify and collaborate on changesCreate a new GitHub repository to control who has access to your project