computer – Blog eTechPath https://blog.etechpath.com Tue, 03 Jan 2023 12:36:51 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://blog.etechpath.com/wp-content/uploads/2017/08/BrandLogo12-150x150.png computer – Blog eTechPath https://blog.etechpath.com 32 32 Solid State Drives – SSD https://blog.etechpath.com/solid-state-drives-ssd/ https://blog.etechpath.com/solid-state-drives-ssd/#respond Sat, 29 Oct 2022 20:04:22 +0000 https://blog.etechpath.com/?p=1006

Introduction:

Solid state drive is a type of storage device that uses integrated circuit assembly to store digital data in it. Unlike conventional hard disk drives, SSD’s does not consist of mechanical moving parts which makes it more reliable and long lasting than conventional hard disk drives.

Advantages and Disadvantages of SSDs over HDDs:

Advantages:

  • Solid state drives are way faster than the hard disk drives. HDDs can copy data at maximum 150MB/s, while common SSDs can copy the same data at 500MB/s. Also, some latest PCIe SSD’s can go more than 5500MB/sec transfer speed.
  • Lifespan of solid state drive is longer than HDDs. Hard disc drives tend to last for around 5years, while SSD’s can last more than 10years.
  • HDD’s has moving parts inside so they make little noise at the time of working. SSD’s are super quiet.
  • SSD’s are very light in weight as compared to HDD’s.
  • Power consumption of a solid state drive is very less as compared to a hard disk drive.

Disadvantages:

  • The measure disadvantage of a solid-state drive is the cost. An SSD can cost more than double the cost of an HDD.
  • Inability to recover old lost data. Which is possible in conventional hard disk drives.

Types of Solid-State Drives:

Solid state drives are available in two interfaces, one is SATA SSD and another is PCIe SSD.

SATA Solid State Drive:

SATA is one the most widely used interface in the industry. Latest SATA III 3rd generation standard provides 6Gb/s bandwidth with up to 550Mbps of read write speed. SATA SSDs are available in different sizes, shapes and slots, details are described below.

2.5inch SATA SSD: 2.5inch SATA SSD is a one-to-one replacement of conventional SATA HDD drive. It can give you up to 500mbps transfer speed. With SATA SSD you can upgrade any HDD laptop or desktop computer to SSD without any modification. (Desktop computers may require some reduction brackets)

mSATA SSD: A mSATA SSD is smaller in shape as compared to 2.5inch standered SSD’s. Also, the power consumption of mSATA SSD is comparatively less. These drives are designed to use in battery operated devices like laptops, notebooks and tablets, because of its small shape and power consumption advantage. mSATA SSD can provide data transfer rate up to 550mbps. mSATA SSDs are available in two sizes, standered size mSATA and half mSATA.

M.2 SATA SSD: M.2 is a next generation standard which provides both SATA or PCIe interface, one at a time. M.2 SATA SSD come in different sizes like 2280, 2260, 2242, where 22 represents the width in mm and next two numbers represent the length. M.2 SATA SSDs are generally comes in B+M key interface.

PCIe Solid State Drive:

PCIe interface SSDs provides many advantages than a SATA interface SSDs. The biggest advantage is speed. A latest 3rd generation SATA SSD can reach maximum 550Mbps read write speed, however a PCIe interface SSD can reach up to 3500Mbps speed.

NVMe SSD: NVMe (Non-volatile Memory Express) provides high bandwidth and very high data transfer speed in very low power consumption. NVMe SSD can reach up to 3000Mbps of read write speed. NVMe SSD comes in M.2 interface with different sizes like 2280, 2260, 2242, 2230, where number 22 represents the width in mm and next two numbers represent the length. NVMe SSD comes with M-key interface, which is only compatible with M key slotted system.

AHCI SSD: AHCI (Advanced Host Controller Interface) was widely used in mid period of SATA and NVMe, it was originally designed for use in conventional hard disk drives. The working structure of AHCI SSD layers between SATA and PCIe interface. AHCI was popular because, unlike common memory structure, AHCI allows SSDs to support native command queuing (NCQ) command set.

AIC SSD: AIC (Add in Card) SSD is compatible with your desktop computer PCIe port. So, if you don’t have dedicated M.2 SSD socket in your motherboard but you still want to use high speed NVMe SSD, then go for AIC SSDs. These SSDs will slide in directly in standard PCIe port. AIC SSD functions same as M.2 NVMe and provides same lightning-fast speed without having M.2 port on your system.

M.2 Kays and Slots

All M.2 modules are keyed in specific way to prevent incorrect insertion of module cards into female slot on the host. M.2 SSDs generally uses three common keys i.e., B-key, M-key & B+M-key. You can find key type printed on the edge of module card near golden connector pins.

In above picture, module card on the left shows NVMe SSD with M-key slot, which is compatible with only M-key female sockets on the host. Module card on the right shows M.2 SATA SSD with B+M-key slot, which is compatible with both M-key and B-key female sockets on the host.

Choose between M.2 M key or M.2 M+B key SSD

Considering the performance, you should choose M.2 M key SSD for the best results. But before getting your SSD make sure what type of slot is available in your computer.

In a computer, there is only a M.2 M key socket, or a M.2 B key socket will be available and not M.2 M+B key socket.

Let’s come to the compatibility of slots. M.2 M key slot is compatible with both M key SSD and M+B key SSD, But M.2 B key slot is only compatible with M+B key SSD.

]]>
https://blog.etechpath.com/solid-state-drives-ssd/feed/ 0
How to control RGB LED wirelessly using ESP8266 WiFi web interface https://blog.etechpath.com/how-to-control-rgb-led-wirelessly-using-esp8266-wifi-web-interface/ https://blog.etechpath.com/how-to-control-rgb-led-wirelessly-using-esp8266-wifi-web-interface/#comments Tue, 21 Nov 2017 22:59:50 +0000 https://blog.etechpath.com/?p=476 About:

In this project we are going to control 1 watt RGB full color LED diode using WiFi module ESP8266-01. You can use any WiFi enabled device to access web interface to control this RGB LED. Watch video at the bottom of this page.




Things you will need: 

  • 1W RGB LED
  • ESP-01  WiFi module
  • 10Ω Resistance
  • ASM1117 3.3v  (or any 3.3v voltage source)
  • USB to TTL converter (for programming esp-01)
  • Momentary push button (optional)
  • Android / Apple / Windows  Phone or any WiFi enabled Laptop / Desktop (to control RGB LED)

Circuit Diagram for programming ESP-01 : 

esp-01_circuit

Steps :

    1. Connect the circuit on breadboard as shown in above circuit diagram for programming ESP-01 WiFi module. You must use only 3.3v logic setting in TTL device.
    2. In this tutorial we will used Arduino IDE to download code into ESP module. So, install Arduino IDE and add supporting board manager and ESP library into it. (Download links are given in download section)



  1. Download and save source code on your computer and open it up using Arduino IDE.
  2. Connect USB to TTL module to your computer.
  3. Open Arduino IDE – Select board ‘Generic ESP8266 Module’ – Select Port of your TTL device (Here’s How to)
  4. Open downloaded code.ino file into arduino and upload the code into ESP module by pressing upload button.
  5. After uploading, Disconnect the ESP module from USB-TTL module and connect it to RGB LED as shown in bellow diagram.

Circuit Diagram for connecting RGB LED:

Steps: 

    1. Connect the final circuit as shown in above diagram and power it up using 5v battery or wall adapter.
    2. ESP module will boot up and LED light will show fade effect in all three colors at startup.



  1. Then open your device WiFi in discovery mode and you will see a new WiFi access point, named as RGB in discovery list.
  2. Connect that WiFi access point, Open any web browser in that device and open ip address 192.168.1.1 , thats it, you will see a colorful RGB control screen to control your wireless RGB LED.
        Note: Do not feed more than 3.3v to ESP-01 module

Source Code : 

/* RGB web server with ESP8266-01 (ESP-01)
* There are only 2 GPIOs available in ESP-01: 0 and 2
* but RX and TX can also be used as: 3 and 1
* Wiring Circuit 
* 0=Red (GPIO0) D3
* 2=Green (GPIO2) D4
* 3=Blue (GPIO3) Rx
* www.etechpath.com
*/

#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>

const char *ssid = "RGB";
//Uncomment below line if you wish to set a password for ESP wifi network...
// const char *password = "87654321";  

const byte DNS_PORT = 53;
IPAddress apIP(192, 168, 1, 1);   //IP address of your ESP 
DNSServer dnsServer;
ESP8266WebServer webServer(80);

//Webpage html Code
String webpage = ""
"<!DOCTYPE html><html><head><title>RGB control eTechPath.com</title><meta name='mobile-web-app-capable' content='yes' />"
"<meta name='viewport' content='width=device-width' /></head><body style='margin: 0px; padding: 0px;'>"
"<canvas id='colorspace'></canvas>"
"</body>"
"<script type='text/javascript'>"
"(function () {"
" var canvas = document.getElementById('colorspace');"
" var ctx = canvas.getContext('2d');"
" function drawCanvas() {"
" var colours = ctx.createLinearGradient(0, 0, window.innerWidth, 0);"
" for(var i=0; i <= 360; i+=10) {"
" colours.addColorStop(i/360, 'hsl(' + i + ', 100%, 50%)');"
" }"
" ctx.fillStyle = colours;"
" ctx.fillRect(0, 0, window.innerWidth, window.innerHeight);"
" var luminance = ctx.createLinearGradient(0, 0, 0, ctx.canvas.height);"
" luminance.addColorStop(0, '#ffffff');"
" luminance.addColorStop(0.05, '#ffffff');"
" luminance.addColorStop(0.5, 'rgba(0,0,0,0)');"
" luminance.addColorStop(0.95, '#000000');"
" luminance.addColorStop(1, '#000000');"
" ctx.fillStyle = luminance;"
" ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);"
" }"
" var eventLocked = false;"
" function handleEvent(clientX, clientY) {"
" if(eventLocked) {"
" return;"
" }"
" function colourCorrect(v) {"
" return Math.round(1023-(v*v)/64);"
" }"
" var data = ctx.getImageData(clientX, clientY, 1, 1).data;"
" var params = ["
" 'r=' + colourCorrect(data[0]),"
" 'g=' + colourCorrect(data[1]),"
" 'b=' + colourCorrect(data[2])"
" ].join('&');"
" var req = new XMLHttpRequest();"
" req.open('POST', '?' + params, true);"
" req.send();"
" eventLocked = true;"
" req.onreadystatechange = function() {"
" if(req.readyState == 4) {"
" eventLocked = false;"
" }"
" }"
" }"
" canvas.addEventListener('click', function(event) {"
" handleEvent(event.clientX, event.clientY, true);"
" }, false);"
" canvas.addEventListener('touchmove', function(event){"
" handleEvent(event.touches[0].clientX, event.touches[0].clientY);"
"}, false);"
" function resizeCanvas() {"
" canvas.width = window.innerWidth;"
" canvas.height = window.innerHeight;"
" drawCanvas();"
" }"
" window.addEventListener('resize', resizeCanvas, false);"
" resizeCanvas();"
" drawCanvas();"
" document.ontouchmove = function(e) {e.preventDefault()};"
" })();"
"</script></html>";
void handleRoot() 
{
// Serial.println("handle root..");
String red = webServer.arg(0); // read RGB arguments
String green = webServer.arg(1);  // read RGB arguments
String blue = webServer.arg(2);  // read RGB arguments

//for common anode
analogWrite(0, red.toInt());
analogWrite(2, green.toInt());
analogWrite(3, blue.toInt());
//for common cathode
//analogWrite(0,1023 - red.toInt());
//analogWrite(2,1023 - green.toInt());
//analogWrite(3,1023 - blue.toInt());
webServer.send(200, "text/html", webpage);
}
void setup() 
{
pinMode(0, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);

analogWrite(0, 1023);
analogWrite(2, 1023);
analogWrite(3, 1023);
delay(1000);
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
WiFi.softAP(ssid);
dnsServer.start(DNS_PORT, "rgb", apIP);
webServer.on("/", handleRoot);
webServer.begin();
testRGB();
}
void loop() 
{
dnsServer.processNextRequest();
webServer.handleClient();
}
void testRGB() 
{ 
// fade in and out of Red, Green, Blue
analogWrite(0, 1023); // Red off
analogWrite(2, 1023); // Green off
analogWrite(3, 1023); // Blue off

fade(0); // Red fade effect
fade(2); // Green fade effect
fade(3); // Blue fade effect
}
void fade(int pin) 
{
for (int u = 0; u < 1024; u++) 
{
analogWrite(pin, 1023 - u);
delay(1);
}
for (int u = 0; u < 1024; u++) 
{
analogWrite(pin, u);
delay(1);
}
}

 





Downloads:

  1. Code.ino
  2. Arduino IDE
  3. ESP8266 Board link for IDE board manager
  4. ESP8266 Arduino Library

 

]]>
https://blog.etechpath.com/how-to-control-rgb-led-wirelessly-using-esp8266-wifi-web-interface/feed/ 6
How to share files between Raspberry Pi & Windows using shared folder. https://blog.etechpath.com/how-to-share-files-between-raspberry-pi-windows-using-shared-folder/ https://blog.etechpath.com/how-to-share-files-between-raspberry-pi-windows-using-shared-folder/#respond Sat, 21 Oct 2017 22:37:03 +0000 https://blog.etechpath.com/?p=435 About:
For sharing files between Raspberry Pi and Windows we need to setup a file server on Raspberry Pi, here in this tutorial we will use SAMBA file server to share files between two different operating systems.

What is SAMBA:

SAMBA is Linux based free tool which is widely used for file sharing in Windows PC, Apple Computers, and Unix-based operating systems. It is re-implementation of SMB/CIFS standard networking protocol and was developed by Andrew Tridgell. This tool is written in C,C++ and Python programming language and licensed under GPLv3.

How to Setup SAMBA in Raspberry Pi

1.Update apt

pi@raspberrypi ~ $ sudo apt update

 

2. Install SAMBA on your raspberry pi,

pi@raspberrypi ~ $ sudo apt-get install samba




(adsbygoogle = window.adsbygoogle || []).push({});

3. After finishing installation, configure SAMBA by editing configuration file /etc/samba/smb.conf

pi@raspberrypi ~ $ sudo nano /etc/samba/smb.conf

In this configuration file, you will need to add the workgroup name of the computer which you are going to connect with the raspberry pi.  To find workgroup name in windows 7 :- Right click on My Computer and enter properties -> Full computer name is your workgroup name (Example =>).

workgroup name
workgroup name
workgroup = MYWORKGROUP
wins support = yes

Replace MYWORKGROUP with your workgroup name. Save & exit the file by pressing ctrl+X , Y, Enter. Change wins support to yes.

 

4. Create shared folder in raspberry pi directory and give read, write & execute permission for this folder to all users.

pi@raspberrypi~ $ mkdir /home/pi/shared
pi@raspberrypi~ $ chmod 777 /home/pi/shared

 

5. Define the behavior  of shared folder. For that purpose we will net to edit configuration file again. /etc/samba/smb.conf

pi@raspberrypi ~ $ sudo nano /etc/samba/smb.conf

Add following lines in this file. Save & exit by pressing ctrl+X, Y, Enter.

[pishare]  
     comment = pi shared folder
     path = /home/pi/shared
     browsable = yes
     guest ok = yes
     writable = yes

 

6. Restart SAMBA,

pi@raspberrypi ~ $ sudo /etc/init.d/samba restart





How to setup shared folder in Windows:

  1. Make sure your computer and raspberry pi connected to same network and configured properly.
  2. Open Network tab on the left side of explorer window.
  3. After searching process, you will see a shared computer named as your raspberry pi hostname.
  4. Open it up and you will find Shared folder inside it which we have just created in raspberry pi.
  5. Now you can start sharing files and taking backup between your raspberry pi and windows computer.
]]>
https://blog.etechpath.com/how-to-share-files-between-raspberry-pi-windows-using-shared-folder/feed/ 0
How to Start Telnet Client in Windows 7 https://blog.etechpath.com/how-to-start-telnet-client-in-windows-7/ https://blog.etechpath.com/how-to-start-telnet-client-in-windows-7/#respond Sat, 09 Sep 2017 02:49:41 +0000 https://blog.etechpath.com/?p=291 About:

Telnet is a protocol that helps you to connect to remote computers and local network computers over a TCP / IP ports or networks. In windows operating system, telnet client is disabled by default. So, you need to enable it from windows features.

 

Steps:  

  1. Click Start and then Go to Control Panel .telnet_client_step1

  2. Click Programs and Feature and Open Turn Windows feature on or off  .telnet_client_step2

  3. Check Telnet Client check box form Windows Features dialog box and click OK. System will install necessary files to your system by itself.telnet_client_step3

  4. To start telnet in command prompt, Open CMD from Start menu and execute this command once,  pkgmgr/iu:”TelnetClient” and press enter.telnet_client_step4



  5. Now you can start using telnet client to connect to remote computer or webpage, For that input command ‘telnet’ followed by IP address/ webpage with telnet port i.e 23 in my case.  example: telnet 192.168.1.200 23telnet_client_step5( Note : System may ask for user ID and password to connect proposed remote computer. )

 

]]>
https://blog.etechpath.com/how-to-start-telnet-client-in-windows-7/feed/ 0