May 19'Update
Our project is awarded the 1st prize in the 2019 Project Fair and Competition organized by Eskişehir Technical University and Eskişehir Chamber of Industry for the 2019 final projects. I also want to thank our graduation project advisor Assoc. Prof. Dr. Tansu Filik whom helped us greatly.

March 19'UpdateFront Airflow test for our predator drone is completed. Thanks toMertcan Özkanfor the flow-simulation know-how. As a part of our graduation project, we will guard a restricted area by listening to radio frequencies for any drone activity and confirming it with object detection assisted with machine learning algorithms created by our own dataset.

In this project, distance measurement is done by ultrasonic distance sensor and servo motor. With the motor position which can be controlled from the software part, the distance in the desired position can be measured.In this project, HC-SR04 Sensors and servo motor will be controlled with Zedboard. Our aim is to get 180 degree data and push to user interface via UART. During this project, ADC (Analog to Digital Converters) will be investigated, sensor electronics and communication methods will be learnt. Ultrasonic sonar sensors are using measure distance 12cm to 60cm. It’s very cheap sensor and very easy to use. With many purposes of HC-SR04 module, 180 degree point of view can be obtained and measure distance of some obstacles easily. Servo motors are used for precise angle changes. In this scenario, servo is used for scan area with sonar module. It turns desired angle, after that thanks to sonar sensor the system measure the distance at each angle.

This project explains the structure of the image classification work that done from CNN’s for Signals And Systems Course.Artificial Neural Networks (ANN) or connectionist systems are computing systems vaguely inspired by the biological neural networks that constitute animal brains.The neural network itself is not an algorithm, but rather a framework for many different machine learning algorithms to work together and process complex data inputs.CNN uses some features of the visual cortex. One of the most popular uses of this architecture is image classification. For example Facebook uses CNN for automatic tagging algorithms, Amazon for generating product recommendations and Google for search through among users’ photos.

Envelope Detector is using for analog communications and quite popular method for demodulate convectional AM signals. As we know we have many ways to transmit the message signal.Demodulation of Conventional DSB AM Signals:The major advantage of conventional AM signal transmission is the ease with which the signal can be demodulated. There is no need for a synchronous demodulator. Since the message signal m(t) satisfies the condition |m(t)| < 1, the envelope (amplitude) 1+m(t) > 0. If we rectify the received signal, we eliminate the negative values without affecting the message signal as shown in Figure 3.7. The rectified signal is equal to u(t) when u(t) > 0 and zero when u(t) < 0. The message signal is recovered by passing the rectified signal through a lowpass filter whose bandwidth matches that of the message signal. The combination of the rectifier and the lowpass filter is called an envelope detector.The simplicity of the demodulator has made conventional DSB AM a practical choice for AM radio broadcasting. Since there are literally billions of radio receivers, an inexpensive implementation of the demodulator is extremely important. The power inefficiency of conventional AM is justified by the fact that there are few broadcast transmitters relative to the number of receivers. Consequently, it is cost effective to construct powerful transmitters and sacrifice power efficiency in order to simplify the signal demodulation at the receivers.

Pycom is a company and a platform which produce development boards and provide software to their customers. They call themselves “Next Generation Internet of Things Platform ” Pycom has many models for developers. During the internship, I have used FiPy which has 22 GPIO pins, SHA, MD5, DES, AES Encryption, Python multi-threading software, antenna inputs for Wi-Fi and LoRa, 3G, LTE, Bluetooth etc. As we see, the card is the best choice for network development projects and LoRa.

Pycom - FiPy Development Board

Work with Pycom

Firstly, to work with Pycom, I need to firmware update. Also, to connect the computer I was using extension board call Pytrack. Pytack has GPS and Accelerometers that helped me too much for this project.After updated FiPy and Pytrack, I also need to prepare the working environment. It means, uploads the libraries of GPS, Accelerometer, MicroPython, to FiPy’s memory. I have used Atom IDE for the task.Also, the day, I investigated some IDEs which visual studio code and atom IDE are. I have selected Atom IDE because It is faster than the Visual studio and supports more python specifications than VS. To prepare Atom IDE for pycom programming, pymakr application is installed. This extension required to install the code to pycom.

What is IoT?
The Internet of Things (IoT) is the network of physical devices, vehicles, home appliances and other items embedded with electronics, software, sensors, actuators, and connectivity which enables these things to connect and exchange data, creating opportunities for more direct integration of the physical world into computer-based systems, resulting in efficiency improvements, economic benefits and reduced human intervention.
IoT covers the devices that connect to internet and communicate each other. IoT is a new term and nowadays becoming popular. Developing sensor electronics, communication technologies, low power usage CPUs, development boards help to improve IoT systems.

The number of IoT devices increased year-over-year to 8.4 billion in 2017 and it is estimated that there will be 30 billion devices by 2020. The global market value of IoT is projected to reach $7.1 trillion by 2020.
During my intern, the main topic is IoT, IoT networks and using scenerios. First, I started to my project from beginning, read of the document about IoT, working principle, which programming languages are using etc. After I have taken Pycom development board, I decided to use micro python in my project. Cause, Pycom supports micropython and this programming language is best language for IoT systems because of simpility. On the other hand, I discovered many chips which is used for IoT projects, the most popular ones NodeMCU boards which has ESP8266 chip, also Pycom has dual core ESP-32 CPU to do tasks.

Cache is a small static RAM between CPU and main memory. Also caches are called "slave memories". Generally, main memory represents dynamic RAM and it has much more capacity than cache. A cache hit occurs when the requested data can be found in a cache, while a cache miss occurs when it cannot. Cache hits are served by reading data from the cache, which is faster than recomputing a result or reading from a slower data store; thus, the more requests can be served from the cache, the faster the system performs.

The cache keeps a copy of the most frequently used data from the main memory. Reads and writes to the most frequently used. We only need to access the slower main memory for less frequently used data. Because it is impossible to fit all data fill in the cache.

Relation Between CPU Speed & Memory SpeedThe cache must be run very fast and its reaction time (latency) should be very quick. For example, we have main memory which has 100ns access time. If we use this, our CPU's maximum speed will be 10mHz even it runs more then 10mHz. Our memory's access time must be 1ns to run our CPU at 1gHz.Memory access speed increases overall because we’ve made the common case faster. Addresses will be serviced by the cache. We only need to access the slower main memory for less frequently used data.In CPU, What is difference between L1, L2 and L3 cache?

Level 1 (L1) cache is extremely fast but relatively small, and is usually embedded in CPU.Level 2 (L2) cache is often more capacious than L1; it may be located on the CPU or on a separate chip or coprocessor. So as not to be slowed by traffic on the main system bus.Level 3 (L3) cache is typically specialized memory that works to improve the performance of L1 and L2. It can be significantly slower than L1 or L2, but is usually double the speed of RAM. If we look at a CPU under a microscope, we see that the most space is occupied by the L3 cache.In the case of multicore processors, each core may have its own dedicated L1 and L2 cache, but share a common L3 cache. When an instruction is referenced in the L3 cache, it is typically elevated to a higher tier cache.Set sizes range from 1 (direct-mapped) to 2k (fully associative). 1-way set associativated cache is equal to direct mapped one. Larger sets and higher associativity lead to fewer cache conflicts and lower miss rates, but they also increase the hardware cost. Due to design and chipset conditions, engineers who design to CPU architecture, cannot change some cache ways, levels and amount easily.In practice, 2-way through 16-way set-associative caches strike a good balance between lower miss rates and higher costs. Nowadays, Intel uses 8-way to 12-way caches in their i-series CPUs. (i5,i3,i7) But amounts is changing CPU by CPU. CPUs which values and costs are higher, for sure it's cache is higher than cheaper ones. The increase of the cache increases the performance of the user.Example of Hardware caches-SSD, HDD-CPU-GPU-DSPs-Some flash drives-Translation lookaside buffer

Example of Software Caches-Web Cache: web browsers, web proxy servers, programs that uses p2p networks use it.-Disk Cache: In windows OS, pagefile files exist. They are very good example of software caches. It created by OS in some conditions and is managed by the operating system kernel.Inside of CacheA cache is divided into many blocks, each of which contains a valid bit, a tag for matching memory addresses to cache contents, and the data itself.Larger block sizes can take advantage of spatial locality by loading data from not just one address, but also nearby addresses, into the cache. Associative caches assign each memory address to a particular set within the cache, but not to any specific block within that set.Mehmet Çağrı Aksoy

ROS (Robotic Operation System) is also known as a framework for robotic applications. It must run inside a Linux distribution. It provides services designed for heterogeneous computer clusters such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management.

In the website of ROS, they say about ROS:

The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.Why? Because creating truly robust, general-purpose robot software is hard. From the robot's perspective, problems that seem trivial to humans often vary wildly between instances of tasks and environments. Dealing with these variations is so hard that no single individual, laboratory, or institution can hope to do it on their own.As a result, ROS was built from the ground up to encourage collaborative robotics software development. For example, one laboratory might have experts in mapping indoor environments, and could contribute a world-class system for producing maps. Another group might have experts at using maps to navigate, and yet another group might have discovered a computer vision approach that works well for recognizing small objects in clutter. ROS was designed specifically for groups like these to collaborate and build upon each other's work, as is described throughout this site.

Nowadays, its reputation and field of usage are greatly increasing. Especially in Artificial Intelligence robotic fields, Unmanned Air – Ground vehicles ROS usage is increasing day by day. ROS is open source software and technology that we can participate their developer program and contribute its code. Software in the ROS Ecosystem can be separated into three groups: language-and platform-independent tools used for building and distributing ROS-based software; ROS client library implementations such as roscpp, rospy, and roslisp; packages containing application-related code which uses one or more ROS client libraries.Both the language-independent tools and the main client libraries (C++, Python, and Lisp) are released under the terms of the BSD license. You can program ROS features C++ or Python whatever you want. But due to ease to use, python 2&3 is preferred more than CPP.

In ROS, Master Node, message communication, and blocks are very important. If we understand its behavior and communication with each other, we can develop easier than before.When we are coding our robot via ROS, we need to a program which we can simulation our robot’s behaviors, reaction of our commands is Gazebo. The gazebo is very handful program which simulates our robots. It has sample sketch and already designed robots, manipulators etc. They can be used for ROS projects and the information can be given by the gazebo; errors of the system (robots) kinematics etc.Mehmet Çağrı Aksoy

Author

As you can see, robot manupilator sample is seen on picture. It has one prismatic and 3 revolute joints. Joints connected each other via links. Full of body is made of aluminum. My manupilator's purpose is to take objects and carry otherwhere via its arm's end effector part. It also has a gripper to take objects. You can download this manupilator's pdf document:

Hello, today I want to write about Signal private messenger. I heard last year that program from Edward Snowden. Yes, that's true. He supports this organization and program. Signal private messenger's main aim is "Privacy". Their motto is "Fast, simple, secure. The privacy that fits in your pocket". They also say that the program is encrypted via end-to-end encryption, and they say our messages are not read by them.

At the moment, I am using the signal with my Android phone and desktop. It's quite easy and there is not so much difference between Whatsapp. On the other hand, the best benefit which different from other messenger programs is linked accounts. When you enter the Signal via desktop, different account occurs. You can send a message your friends as same as your phone and when your friends see your message don't understand the message is coming from where desktop or mobile. To summary, on the desktop, you can use your phone number to send a message. BUT, you can ALSO send messages from desktop to your mobile that is awesome. For example, you have taken a photo and want to send your desktop. Its easiest way ever I have seen. Just send desktop account and see your picture on your desktop account.