Webots Tutorial: Simple Obstacle Avoidance Robot

Webots Tutorial: Simple Obstacle Avoidance Robot

Introduction Now we will begin addressing topics related to programming robot controllers. We will design a simple controller to avoid the obstacles (boxes) created in the previous tutorial. This tutorial will introduce you to the basics of robot programming in Webots. By the end of this chapter, you should understand the link between scene tree … Read more

Learning the Bluetooth BLE Protocol: 001 – Overall Architecture of the BLE Protocol Stack

As shown in the figure above, to implement a BLE application, you first need a chip that supports BLE radio frequency, then you need to provide a BLE protocol stack that matches this chip, and finally, you can develop your own application on top of the protocol stack. It can be seen that the BLE … Read more

Core Knowledge Points in C++ Programming

Core Knowledge Points in C++ Programming

Respect Function Interfaces and Minimize Internal Modifications C++ Code Statements are divided into: built-in types, names, variables, operators, scalars, strings, preprocessor directives (such as #include), etc.Classes in C++ are defined to organize data structuresThe header files of the standard library are enclosed in angle brackets < >, while non-standard library header files are enclosed in … Read more

Simple Python Calls to C++ Programs

Methods for Python to Call C/C++ Programs Recently, while debugging, I encountered a situation where Python was running very slowly, so I researched methods to embed C++ programs in Python. I am documenting this for future reference. Generally, calling C/C++ programs from Python can be divided into three steps: 1. Write the C/C++ implementation program. … Read more

Data Visualization Host Software: The STM32 Debugging Tool STM32CubeMonitor

STM32CubeMonitor not only provides variable monitoring capabilities but also offers a rich set of components to build various styles of graphical interfaces, along with numerous free third-party components for functional expansion. Additionally, STM32CubeMonitor supports remote monitoring functionality. STM32CubeMonitor is a variable monitoring and visualization tool that connects to the target MCU via the ST-LINK’s SWD … Read more

How to Operate a Multimeter for Low Voltage Electrician Certification Practical Exam?

How to Operate a Multimeter for Low Voltage Electrician Certification Practical Exam?

1.The multimeter is divided into analog and digital multimeters. As shown in the figure below, the left image is an analog multimeter, and the right image is a digital multimeter. 2.The function of the multimeter is to measure AC voltage, DC voltage, DC current, resistance, and other multifunctional measurements. 3.Pre-use checks for the multimeter. (1) … Read more

Embedded Development: Mastering the Logic Analyzer

Embedded Development: Mastering the Logic Analyzer

Microcontroller development engineers and electronics enthusiasts deal with various digital circuits daily. In addition to using multimeters and oscilloscopes for circuit debugging, a logic analyzer is also essential. A logic analyzer is an instrument that collects and displays digital signals from a test device using a clock, primarily for timing analysis. Unlike oscilloscopes, a logic … Read more

Mitsubishi and Siemens TCP/RS485 Communication Issues and Solutions

Mitsubishi and Siemens TCP/RS485 Communication Issues and Solutions

Follow “Jicheng Training” which has focused on automation education for 14 yearsMitsubishi PLC Common Questions Q: How to change the time zone on Mitsubishi R series PLC? A: Navigate to the window – [Parameters] – [R00CPU] – [CPU Parameters] – “Run Association Settings” – “Clock Association Settings” – “Time Zone” Q: How to read the … Read more

Linux x86 Buffer Overflow Level 3: Simple Buffer Overflow, Bypassing DEP and ASLR Protection via ROP

Linux x86 Buffer Overflow Level 3: Simple Buffer Overflow, Bypassing DEP and ASLR Protection via ROP

Preparation Work Enable ASLR and DEP protection. sudo -s echo 2 > /proc/sys/kernel/randomize_va_space To enable DEP protection, simply remove the<span>-z execstack</span> option when compiling with gcc. <span>gcc -m32 -fno-stack-protector -o level3 level3.c</span> Randomized Base Address The following shows the maps situation when running level3 multiple times. First Run $ cat /proc/22020/maps 56652000-56653000 r–p 00000000 08:03 … Read more

The Top 5 Electrical Languages Supporting PLC Programming: Mastering All Makes You a Pro!

The Top 5 Electrical Languages Supporting PLC Programming: Mastering All Makes You a Pro!

Search on WeChatTechnical Training The programming languages for PLCs have distinct characteristics compared to general computer languages; they are neither high-level languages nor typical assembly languages, and they must meet the requirements of being easy to write and debug. Early PLCs only supported Ladder Diagram (LD) and Instruction List (IL) programming languages. Currently, the International … Read more