วันอังคารที่ 12 ธันวาคม พ.ศ. 2560

แนะนำ Arduino Nano

Arduino Nano เป็น Board  Arduino ที่มีขนาดเล็ก แต่ก็ครบในการใช้งาน ทั้ง Analog และ Digital
การเขียนโปรแกรม ก็ทำได้ ง่าย โดยใช้ Arduino IDE www.arduino.cc การต่อ กับ USB อาจจะมีปัญหา ต้องไป Download Driver ที่ web ของ driver จีน http://www.wch.cn/download/CH341SER_ZIP.html
การทดสอบ ง่ายสุดให้เลือก Project Blink ใน ตัวอย่าง ของ Arduino IDE จะทดสอบได้


เลื่อก Board ใน Arduino IDE




วันจันทร์ที่ 11 ธันวาคม พ.ศ. 2560

ทดสอบ OLED ของ LoRa Esp32 Wifi

Esp32 Wifi เป็น LoRa IOT ที่มีจอขนาด ใหญ่ พอสมควร ขนาด 128x64 pixel สามารถใช้กับArduino IDE ได้


การลง software เพื่อSupport hardware นี้ทำตามขั้นตอน

โดยที่สามารถใช้ Arduino IDE ใสการ compile และ Upload ได้
ขั้นตอนการติดตั้ง
1. ต้อง Download Driver USB ของ Board ระวัง Version ของ Windows หรือ Mac ต้องถูก
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
2.ต้อง ติดตั้ง Library ของ Wifi Kit
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/InstallGuide/

3.เมื่อ เพิ่ม Board เข้าใน IDE แล้วเลือก Lora 

สร้างProject เช่น testLCDE32 ตาม ด้วย Code นี้ ทดสอบ จะมี ตัวอย่าง Graphic เช่น wifi ในภาพ


#include <Wire.h>  // Only needed for Arduino 1.6.5 and earlier
#include "SSD1306.h" // alias for `#include "SSD1306Wire.h"`
//#include "images.h"

#define WiFi_Logo_width 60
#define WiFi_Logo_height 36
const char WiFi_Logo_bits[] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF,
  0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x00, 0x00, 0x00,
  0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
  0xFF, 0x03, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
  0x00, 0xFF, 0xFF, 0xFF, 0x07, 0xC0, 0x83, 0x01, 0x80, 0xFF, 0xFF, 0xFF,
  0x01, 0x00, 0x07, 0x00, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x0C, 0x00,
  0xC0, 0xFF, 0xFF, 0x7C, 0x00, 0x60, 0x0C, 0x00, 0xC0, 0x31, 0x46, 0x7C,
  0xFC, 0x77, 0x08, 0x00, 0xE0, 0x23, 0xC6, 0x3C, 0xFC, 0x67, 0x18, 0x00,
  0xE0, 0x23, 0xE4, 0x3F, 0x1C, 0x00, 0x18, 0x00, 0xE0, 0x23, 0x60, 0x3C,
  0x1C, 0x70, 0x18, 0x00, 0xE0, 0x03, 0x60, 0x3C, 0x1C, 0x70, 0x18, 0x00,
  0xE0, 0x07, 0x60, 0x3C, 0xFC, 0x73, 0x18, 0x00, 0xE0, 0x87, 0x70, 0x3C,
  0xFC, 0x73, 0x18, 0x00, 0xE0, 0x87, 0x70, 0x3C, 0x1C, 0x70, 0x18, 0x00,
  0xE0, 0x87, 0x70, 0x3C, 0x1C, 0x70, 0x18, 0x00, 0xE0, 0x8F, 0x71, 0x3C,
  0x1C, 0x70, 0x18, 0x00, 0xC0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x08, 0x00,
  0xC0, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x0C, 0x00, 0x80, 0xFF, 0xFF, 0x1F,
  0x00, 0x00, 0x06, 0x00, 0x80, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x07, 0x00,
  0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0xF8, 0xFF, 0xFF,
  0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x01, 0x00, 0x00,
  0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF,
  0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x1F, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  };

//OLED pins to ESP32 GPIOs via this connecthin:
//OLED_SDA -- GPIO4
//OLED_SCL -- GPIO15
//OLED_RST -- GPIO16

SSD1306  display(0x3c, 4, 15);

#define DEMO_DURATION 3000
typedef void (*Demo)(void);

int demoMode = 0;
int counter = 1;

void setup() {
  pinMode(16,OUTPUT);
  digitalWrite(16, LOW);    // set GPIO16 low to reset OLED
  delay(50); 
  digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 in high
  
  Serial.begin(115200);
  Serial.println();
  Serial.println();


  // Initialising the UI will init the display too.
  display.init();

  display.flipScreenVertically();
  display.setFont(ArialMT_Plain_10);

}

void drawFontFaceDemo() {
    // Font Demo1
    // create more fonts at http://oleddisplay.squix.ch/
    display.setTextAlignment(TEXT_ALIGN_LEFT);
    display.setFont(ArialMT_Plain_10);
    display.drawString(0, 0, "Hello world");
    display.setFont(ArialMT_Plain_16);
    display.drawString(0, 10, "Hello world");
    display.setFont(ArialMT_Plain_24);
    display.drawString(0, 26, "Hello world");
}

void drawTextFlowDemo() {
    display.setFont(ArialMT_Plain_10);
    display.setTextAlignment(TEXT_ALIGN_LEFT);
    display.drawStringMaxWidth(0, 0, 128,
      "Lorem ipsum\n dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore." );
}

void drawTextAlignmentDemo() {
    // Text alignment demo
  display.setFont(ArialMT_Plain_10);

  // The coordinates define the left starting point of the text
  display.setTextAlignment(TEXT_ALIGN_LEFT);
  display.drawString(0, 10, "Left aligned (0,10)");

  // The coordinates define the center of the text
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  display.drawString(64, 22, "Center aligned (64,22)");

  // The coordinates define the right end of the text
  display.setTextAlignment(TEXT_ALIGN_RIGHT);
  display.drawString(128, 33, "Right aligned (128,33)");
}

void drawRectDemo() {
      // Draw a pixel at given position
    for (int i = 0; i < 10; i++) {
      display.setPixel(i, i);
      display.setPixel(10 - i, i);
    }
    display.drawRect(12, 12, 20, 20);

    // Fill the rectangle
    display.fillRect(14, 14, 17, 17);

    // Draw a line horizontally
    display.drawHorizontalLine(0, 40, 20);

    // Draw a line horizontally
    display.drawVerticalLine(40, 0, 20);
}

void drawCircleDemo() {
  for (int i=1; i < 8; i++) {
    display.setColor(WHITE);
    display.drawCircle(32, 32, i*3);
    if (i % 2 == 0) {
      display.setColor(BLACK);
    }
    display.fillCircle(96, 32, 32 - i* 3);
  }
}

void drawProgressBarDemo() {
  int progress = (counter / 5) % 100;
  // draw the progress bar
  display.drawProgressBar(0, 32, 120, 10, progress);

  // draw the percentage as String
  display.setTextAlignment(TEXT_ALIGN_CENTER);
  display.drawString(64, 15, String(progress) + "%");
}

void drawImageDemo() {
    // see http://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
    // on how to create xbm files
    display.drawXbm(34, 14, WiFi_Logo_width, WiFi_Logo_height, WiFi_Logo_bits);
}

Demo demos[] = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof(demos) / sizeof(Demo));
long timeSinceLastModeSwitch = 0;

void loop() {
  // clear the display
  display.clear();
  // draw the current demo method
  demos[demoMode]();

  display.setTextAlignment(TEXT_ALIGN_RIGHT);
  display.drawString(10, 128, String(millis()));
  // write the buffer to the display
  display.display();

  if (millis() - timeSinceLastModeSwitch > DEMO_DURATION) {
    demoMode = (demoMode + 1)  % demoLength;
    timeSinceLastModeSwitch = millis();
  }
  counter++;
  delay(10);
}

ในกรณีต้องการสร้าง Bitmap Array จากรูปที่มี ให้ใช้ tool จาก Web แล้ว Copy Code มาทดสอบ




LoRa Wifi Kit 8 ใช้ Cpu ESP8266

Wifi Kit 8 เป็น ชุด computer server wifi จิ๋ว มีขนาดเพียง 50x20 mm. แต่ทำงาน เป็น Wifi Sever Client และ มี จอ OLED ขนาด 16x4 ตัวหนังสือ


โดยที่สามารถใช้ Arduino IDE ใสการ compile และ Upload ได้
ขั้นตอนการติดตั้ง
1. ต้อง Download Driver USB ของ Board ระวัง Version ของ Windows หรือ Mac ต้องถูก
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
2.ต้อง ติดตั้ง Library ของ Wifi Kit
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/InstallGuide/

3.เมื่อ เพิ่ม Board เข้าใน IDE แล้วเลือก Wifi Kit

ทดลอง สร้าง Project เช่น testWiFi

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiClient.h>
#include "BSTest/BSTest.h"

#define STA_SSID "wifiname"
#define STA_PASS "wifiPassword"

#include <OLED.h>

// the OLED used

BS_ENV_DECLARE();
#define RST_OLED 16
OLED display(4, 5);

void setup()
{
char buf[50];
pinMode(RST_OLED, OUTPUT);
  digitalWrite(RST_OLED, LOW);   // turn D2 low to reset OLED
  delay(50);
  digitalWrite(RST_OLED, HIGH);    // while OLED is running, must set D2 in high
display.begin();
display.print("network connect");
    WiFi.persistent(false);
    WiFi.begin(STA_SSID, STA_PASS);
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
    }
    WiFi.localIP().toString().toCharArray(buf,50);
    display.print(buf,2);
}
void loop()
{
}







วันอาทิตย์ที่ 1 ตุลาคม พ.ศ. 2560

c# multi dimension array

อย่าลืม หาร ด้วขนาดด้านใน
  
int [,]array2d = new int[,] {
                {1,2,4},
                {2,3,5}
            };
           for(int i =0;i<array2d.Length/3;i++)
           {
               AcadUtil.Msg(array2d[i,0].ToString()+","+array2d[i,1].ToString()+","+array2d[i,2].ToString());


           }

วันศุกร์ที่ 29 กันยายน พ.ศ. 2560

ให้ OSX Textedit สำหรับเขียนโปรแกรม Fixเครื่องหมายคำพูด

Mac OSX มี Buildin Editor ชื่อ TextEdit มักจะฉลาดเกิน ใส่ เครื่องหมายคำพูดเป็นแบบ ปิด และ เปิด จะใช้ กับ โปรแกรม หลายประเภทไม่ได้ ต้องไปแก้ ที่ System Preference รูปเฟื่อง และเข้าหมวด Text


เลือกตัวท้ายสุดจะเป็น แบบธรรมดา ก็จะใชักับ GCC ได้

วันพุธที่ 23 สิงหาคม พ.ศ. 2560

ขา ควบคุมของ GRBL cnc board


GRBL board cnc ราคาถูก มาก
มาทำงานได้หลายอย่าง

ขาควบคุม Step motor
2 DX
5 SX

3 DY
6 SX

4 DZ
7 SX

Limit X D9 ถ้าต่อกับ LIMIT แบบ 3/4 ขา signal จิ่มด้านตัวหนังสือ ต่อ VCC กับ  G ด้วย
Limit Y D10
Limit Z D11
Limit D12

D13 LED

A0 Abort
A1 Hold
A2 Resume
A3 Cool
A4 SDA
A5 SCL
A6 Analog
A7

Firmware ให้ Download ที่
 https://github.com/grbl/grbl
เมื่อ Download แล้วติดตั้งใน ManageLibrary จะ copy ไปใน Folder libraries เอง
เวลา Upload ไปดูใน sample จะมี Grblupload


ใช้ได้กับ Arduino nano

แต่มี Bug ต้องแก้ใน header board มันสลับ step ก้บ Direction
cpu_map_atmega328p.h

...
#define X_STEP_BIT      5  // Uno Digital Pin 2
#define Y_STEP_BIT      6  // Uno Digital Pin 3
#define Z_STEP_BIT      7  // Uno Digital Pin 4
..
#define X_DIRECTION_BIT   2  // Uno Digital Pin 5
#define Y_DIRECTION_BIT   3  // Uno Digital Pin 6
#define Z_DIRECTION_BIT   4  // Uno Digital Pin 7

วันพุธที่ 2 สิงหาคม พ.ศ. 2560

โปรแกรมFree CNC , HeeksCNC

Heekscnc เป็นโปรแกรม Freeware ถึงจะซื้อก็ 10 ปอนด์ ถูกมากแต่ก็work 90 % ของ โปรแกรม ระดับ 1000 USDไฟล์ที่ใช้นำมาใช้ได้ มี STL,STEP,DXF
การทำงานกับ STL
1. Import STL ที่ต้องการ ต้องระวัง ระบบ ของ Heekscnc จะหมุน รูปยาก ต้องไปหมุนใน Makerware หรือ Cura จะดีกว่า
2. วาง รูปให้ตำกว่า Z=0
3. เลือก Surface -new Surface และ เลือก รูป STL
4. วาด Sketch สี่เหลี่ยมกำหนด ขอบ งาน
5. เลือก Operation เป็น profile หรือ Pocket
    เลือก Surface และ Sketch ต้องกำหนด ระยะ Z ด้วย Top Button Step
6. Post Processor
7. Save Gcode


วันศุกร์ที่ 28 เมษายน พ.ศ. 2560

ค่าความเร็วของดอกของ การใช้ milling cnc

ต้องแปลง sfm surface foot per minute เป็น Rpm อีกที 
RPM  =  (SFM x 3.82)    divided by    DIAMETER. นิ้ว
หรือ. SFMx95.5/ DIA mm
เช่น AL. 300x95.5/6mm =4775 rpm



ค่าความเร็วในการเดิน Feed ต่อรอบคิดจาก chip load และ *จำนวนฟันของดอก
เช่น AL ศก 6.  0.13*4775*2ฟัน =1242 mm/min




วันเสาร์ที่ 22 เมษายน พ.ศ. 2560

วันพุธที่ 5 เมษายน พ.ศ. 2560

Unix command ที่น่าสนใจ

ค้นหา
find . -name '*.txt'

copy file 1byte ทับ ทุก file ใน Dir recursive

for f in $(find . -name '*.*') ; do cp "/tmp/1byte.txt" "$f" ; done

ทำ Dir เดียว
 for f in * ; do cp "/tmp/1byte.txt" "$f" ; done



วันพฤหัสบดีที่ 30 มีนาคม พ.ศ. 2560

วันอังคารที่ 28 มีนาคม พ.ศ. 2560

ขา Message สาย RJxx จาก APC Back-ups Pro 500

APC Back UPS pro 500 มีสายที่ให้มา เป็น RJ 50 จะมี 10 Pinsไม่ใช่ RJ 45 (มี 8 Pins)
สัญญาญ จะมาตามนี้ ใช้ 2 กับ 4 บอก Status
UPS Pin 
UPS signal
Description
1
USB_VCC
 decoupled with a ferrite, and protected with a 6.2V zener on the PCB side
2
ON_BATT
 (active high) - Logic 1: 12V via 3kohm resistor, Logic 0: 0V via open collector of 2N2222 to gound
3
\Lo_BATT
 (active low) - Logic 1: 12V via 3kohm resistor, Logic 0: 0V via open collector of 2N2222 to gound
4
GND
 direct connection, no decoupling
5,6
USB TST (NC)
No physical connection





7
GND
decoupling via ferrite
8
INVSD
Active high to base of a 2N2222 (resistor input -> base: 3kohms, resistor base -> gnd: 1kohms)
9
USB Data- (negative)
Protected with 47ohms resistors, ferrite
10
USB Data+ (positive)
Protected with 47ohms resistors, ferrite


ถ้าดูจากสายที่ให้มา
RJ50(not45) 
   ------
  |    --  10 - green - USB 3 - USB+
  |    --  9 - white - USB 2 - USB-
  |    --  8
 _|    --  7 - black - usb 4 - GND
| |    --  6
|_|    --  5
  |    --  4 - brown - shield
  |    --  3
  |    --  2
  |    --  1 - red - usb 1 - +5V
   ------
  
USB end (looking against the connector):
 -----
|   | |
|  X| |  1 - red - +5V
|   | |
|  X| |  2 - white - USB-
|   | |
|  X| |  3 - green - USB+
|   | |
|  X| |  4 - black - GND
|   | |
 -----  shield - brown - SHIELD

วันพฤหัสบดีที่ 9 มีนาคม พ.ศ. 2560

การ Attach SQL server Database บน Hyper V server จาก command line

Hyper V Server ของ Microsoft เป็น Server ที่เป็น Text mode ไม่มี Interface เมื่อ ลง SQL server Express แล้ว การ นำ Database เข้า ก็จะต้องใช้ Command line
ในกรณีนี้ นำ Virual Box สำเร็จรูป จาก Vagrant box ชื่อ Sqlserver2014express มาใช้โดย Import เข้า Virtual Box และ Start Virtual box
1. เปรียน Network เป็น Bridge และ Fix IP
  เลือก Command line อย่าปิดเด็ดขาด จะเข้าไม่ได้อีก
2. map Drive จาก Remote
   use net g: \\server\share
copy SQL Database จาก Remote (ต้อง Stop SQL server service ของ Remote ก่อน)
3. ใช้ sqlcmd
sqlcmd -S .\SQLEXPRESS -E -Q"USE [master] ; create database [ชื่อ] on (filename = N'C:\ไฟล์'),(filename = N'C:\ไฟล์_log.ldf') for attach ;"
4.  เปิด Remote 
  sqlcmd 
 use <newdb>
EXEC sys.sp_configure N'remote access', N'1'
GO
RECONFIGURE WITH OVERRIDE
GO
5.  เป็น Owner ,สำคัญมาก
USE <newdb>  
ALTER DATABASE current_db SET TRUSTWORTHY ON
ตรวจ Owner โดย
select suser_sname(owner_sid) from sys.databases where name = '<newdb>'

วันพฤหัสบดีที่ 2 มีนาคม พ.ศ. 2560

ทำ แผ่นPCB ด้วย CNC และ Freeware

การทำ PCBด้วย โปรแกรม เช่น Protel , Eagle ก็ทำได้ โดยมี Module ที่ออกเป็น CNC command แต่มักจะเป็น Gerber Command code ในกรณีนี้ เป็นการทำ ด้วย Freeware เพื่อประหยัดค่า License
1.เขียน วงจรด้วย  FreePCB  เป็น Shareware ที่ลงง่ายใช้ง่าย แต่ Library น้อย ต้อง custom เอง


เรียก File->Generate CAM File จะได้ file .grb(path) และ .drl (เจาะ)
2.ใช้ Flatcam ->new project
   .grb เปิดด้วย open gerber
   .drl เปิดด้วย open Exellon
   .gcode เปิดด้วย open Gcode
set Project Unit ->mm.
วิธีใช้ จะสำคัญที่ Project Browser
  Gerber เมื่อ Gerate Toolpath โดยกำหนด ขนาด Tool แล้ว จะสร้าง ISO file และที่ ISO กำหนด Tool Z path Speed แล้ว จะสร้าง Gcode
 ใน การ Generate Gcode ของ drl หรือ Exellon จะให้เลือก ขนาด ดอกสว่าง ให้เลือก ทั้งหมด แล้ว Generate Gcode

สำหรับ Gcode จะไม่มี Offset ต้อง Create ปรับ จนตรง
Gcode ใช้ Feed ประมาณ 100-150 ดอก 0.8-1 mm.

 อย่าลืม ถ้าต้องกลับด้าน หลัง ต้อง เป็น 2 Layer PCB และ Mirror X
  กรณีไม่ตรงกัน ให้ Offset (vector) จนตรง
 แล้ว Generate Gcode ที่ละ _CNC เป็น File ใน Folder

3. ตัดต่อ File ด้วย JViewer
โดยเปิด แต่ละ File แล้ว ทำการ copy paste ต่อท้าย โปรแกรมแรก และ Save as ชื่อใหม่

ระวังเรื่อง จุดต่อ ว่า ยกหัว Z ไม่ให้ลาก ชน

GCode เป็น Generic  Absolute code  G00,G01,G02,G03

วันอาทิตย์ที่ 22 มกราคม พ.ศ. 2560

วิชาโบราณ Dos Ftp Server ด้วยเครื่อง Ram 1 G

เครื่องจักรอุตสาหกรรม CNC จะเป็น PC กับ Dos control จำนวนมาก แต่ Network จะไม่ค่อยมี การให้มี ต้องใช้ Network TCP/IP สำหรับ Dos

วิธีทำ
0. format เครื่อง ด้วย Dos 6.22
1. ต้องหา Card ที่ Support จะมี ไม่กีรุ่น ที่เหลือ ต้องไปหา มา
  เช่น  Intel 8255(e100xx), NE2000, 3Com 3C503, LinkSys100
2. ไป Download Packet Driver ที่ http://www.crynwr.com/drivers/ ให้ถูกรุ่น
3. คำสั่งโบราณ Load Driver ไปที่ Himem และ Interrupt ที่ 0x60
    LH c:\driver\<youdriver.com> -i 0x60
4. download service จาก http://www.brutman.com/mTCP/mTCP.html
    ต้องมี IP Address ก่อน โดย ใช้ DHCP
set MTCPCFG=c:\mtcp\tcp.cfg
ใน tcp.cfg
--- TCP.CFG ---
PACKETINT 0x60
HOSTNAME  OLDDOS
เมื่อเรียกคำสั่ง DHCP จะต่อ Config ให้เอง
สำหรับ FTP server ต้องมี ftp config file
ftpsrv_password_file c:\fdos\ftppass.txt
ftpsrv_log_file c:\fdos\ftpsrv.log
FTPSRV_FILEBUFFER_SIZE 16
FTPSRV_TCPBUFFER_SIZE 16
FTPSRV_PACKETS_PER_POLL 2
ใน ftppass.txt 
user     password      [none]     [any]      all
myname    1234567       c:/data    [any]      all
ftpsrv เริ่ม ใช้งาน

เครื่องที่ติดต่อ จะส่ง ไฟล์ ก็ทำได้โดย ใช้ ftp connect และ Send,Get

วันพุธที่ 11 มกราคม พ.ศ. 2560

วันอังคารที่ 10 มกราคม พ.ศ. 2560

Interface ของ Card SCanner GSI HC/2,XY2-100

ขาจะเหมือน กัน ทั้ง HC/2 HC/3 ต่างที่ว่า HC/2 เป็น ISA card HC/3 เป็น PCI
ขา Interface ใหญ่ จะตรงกับ GSI Scanner Head สำหรับ DB9 ขา 1-2 เป็น ตัวปิดเปิด Laser
แต่ DB9 บน Scan Head จะเป็น Supply(Group 3ขา) +15 G -15 ระวัง ไม่ใช่ Interface ของ Gavanor จะเป็น DB9 เหมือนกัน แต่ จะ เป็นขา 1,2,6 -15, 3,7,8 -Ground, 4,5,9 +15

ขาของ XY2-100 จะเหมือนกัน แต่จะมี Power เข้าที่ 9-13,22-25