PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC - Thiết kế và Ứng dụng (http://www.picvietnam.com/forum/forumdisplay.php?f=23)
-   -   SIM908 GSM/GPRS + GPS Module (http://www.picvietnam.com/forum/showthread.php?t=13608)

longtu 23-03-2012 03:32 PM

SIM908 GSM/GPRS + GPS Module
 
1 Attachment(s)
Mình tạo luồn này để nói về Sim908, cách thiết kế phần cứng cũng cách sử dụng.

Các bạn nếu quan tâm đến GPS module thôi thì đọc bài viết này của mình:
http://www.picvietnam.com/forum/showthread.php?p=54876

longtu 23-03-2012 03:49 PM

1. Giới Thiệu SIM908:
 
Tài liệu: Sim908 Specification.pdf:
http://www.mediafire.com/?99c1cunz6s9ea9b

Nếu bạn nào đã từng làm việc với Sim548C rồi, thì Sim908C cung hoàn toàn tương thích về chân nối. Các bạn sẽ thấy ràng việc thiết kế phần cứng cho SIM908 dễ dàng hơn so với Sim548: không cần nguồn 3.3V, nhiều chân không cần sử dụng...

Tài liệu: SIM908_SIM548C_HW_Comparison_V1.00.pdf:
http://www.mediafire.com/?ryt48jrk7jg6kye

Chú ý: Có 2 loại Module:
- Sim908: chỉ đơn thuần là GMS/GPRS+GPS module, 80 pins.
- Sim908C: GMS/GPRS+GPS module + Connector 60 pins.

longtu 23-03-2012 03:57 PM

2. Thiết kế phần cứng(Hardware Design):
 
Các bạn cần đọc kỹ, đọc đi đọc lại nhiều lần các tài liệu sau đây:
- http://www.mediafire.com/?bfzv16ehy28oeu6
- http://www.mediafire.com/?e2divlfr4n3zs0p

longtu 23-03-2012 04:32 PM

2. Thiết kế phần cứng(Hardware Design): (Tiếp theo)
 
Một số chú ý quan trọng:
2.1 Nguồn sử dụng:
- Chỉ sử dụng 1 nguồn duy nhất: VBAT= 3.2 - 4.8V. Dòng đỉnh của nguồn này trong quá trình trao đổi thông tin(call, send SMS...) có thể lên tới 2A, vì vậy khi thiết kế nguồn VBAT cần đảm bảo nguồn đủ khả năng cung cấp dòng lên tới 2A.
- Khi VBAT xuống dưới 3.1V, module sẽ tự động ngắt(tắt).
- Một tụ điện Tantalum 100uF có ESR thấp(ESR=<0.7Ohm) được đề nghị thêm vào để tăng sức mạnh cho nguồn VBAT. Tụ này để để gần các chân nguồn của Sim908(càng gần càng tốt).
Chú ý: ESR(Equivalent Series Resistance) của tụ Tantalum là 1 khái niệm để biết chất lượng của tụ Tantalum. ESR càng nhỏ thì càng tốt(do tổn hoa điện vô ích sẽ nhỏ)
- Khi vẽ layout, đường mạch in(trace) tới chân VBAT nên đủ rộng(min 60mil) và ngắn nhất có thể.
- VBAT có thể sử dụng nguồn Battery 3.7V Li-on, 1100mAh.
Chú ý: Chỉ nên sử dụng Battery Li-on.

longtu 23-03-2012 04:43 PM

2. Thiết kế phần cứng(Hardware Design): (Tiếp theo)
 
2.2 VRTC Back up:
- VRTC: 2-3.15V
- Được sử dụng cho Real Time Clock và một số chức năng khác trong module Sim908 khi nguồn VBAT không được cấp.
- Có 3 cách thiết kế:
+ Sử dụng tụ điện bên ngoài: Tụ điện 4.7uF Ceramic được đề nghị nối tới chân VRTC và GND.
+ Sử dụng battery có thể tự sạc lại: Nói trực tiếp Rechargeable Battery tới chân VRTC và GND.
+ Sử dụng battery không cho sạc: Nói chân + của Battery tơi chân anode của 1N4148, chân Kathod của 1N4148 nối tới chân VRTC.

longtu 23-03-2012 04:49 PM

2. Thiết kế phần cứng(Hardware Design): (Tiếp theo)
 
2.3 Battery Charging:
- Khi VBAT được cấp bởi Battery Li-on.
- Chỉ cấn cung cấp 1 nguồn DC(5-6V) nối trực tiếp tới chân VCHG của SIm908
Chú ý:
- Bên trong Sim908 để có mạch bảo vệ quá dòng sạc(overcharging, deep discharging,over curent)...
- TEMP_BAT: sử dụng đo lường nhiệt độ của Battery

longtu 23-03-2012 04:58 PM

3. Thiết kế tham khảo:
 
1 Attachment(s)
- VBAT(62 và 63): Nối tới nguồn VBAT(3.2 -4.8V, 2A) hay Battery Li-on 3.7V, 1100mAh. Chú ý thêm tụ Tantalum 100uF có ESR thấp.
- VDD_EXT: Ngõ ra điện áp khoảng 2.8V. Không sử dụng để trống.
- GPS-VANT-OUT(2.8V sử dụng cho mục đích cho phép sử dụng anten ngoài) được nối trực tiếp tới GPS-VANT-IN.
- Do sử dụng GPS và GSM anten bên ngoài nển 2 chân GSM-ANT và GPS_ANT để trống. GPS và GMS anten bên ngoài sẽ được nối vào 2 connector trực tiếp trên module Sim908.
- VRTC backup: Non-chargeable Battery nên phải có diode 1N4148.
- TEMP-BAT: nếu không sử dụng để trống.
- GSM_TXD: là chân Output(ở mức thấp 0.1V(max) và ở mức cao 2.7V(min) sẽ được nối trực tiếp tới chân MCU_RX của Microcontroller PIC(VCC=5V) vì mức logic của GSM_TXD đủ để Microcontroller hiểu.
- GSM_RXD(VCC=3.3V) sẽ nhận data ta từ TX_MCU(VCC=5V), vì thế cần qua cầu phân áp 2.2K và 3.3K để không làm hư hai Sim908.
- Khi không sử dụng các chân điều khiển(Flag control), tấc cả các chân ĐC, CTS, RTS để trống. Chân DTR được khuyến cáo nên kéo xuống mass.
Chú ý:
+ DTR: có thể được sử dụng để đánh thức module trong chế độ sleep, có thể nối tới GPIO của MCU để điều khiển.
+ RI: có thể được sử dụng để xác định có hay không có cuộc gọi/SMS, có thể nối tới GPIO của MCU để điều khiển.

Modified by Tuân[2012.03.31]: http://www.picvietnam.com/forum/show...6&postcount=14

longtu 23-03-2012 05:43 PM

3. Thiết kế tham khảo:(Tiếp theo)
 
- STATUS: Giám sát trạng thái Power On/OFF.
+ Power On: STATUS ở mức cao.
+ Power OFn: STATUS ở mức thấp.
- NETLIGHT: Giám sát trạng thái kết nối của module. Thông qua trassitor để điều khiển NETLIGH_LED
+ OFF: SIm908 không hoạt động
+ Blinking(Chớp tắt với các trạng thái khác nhau tùy thuộc vào trạng thái Network): SIm908 hoạt động

longtu 24-03-2012 12:37 AM

4. Microcontroller:
 
Nên sử dụng loại microcontroller có 2 bộ UART, 1 để giao tiếp GSM và 1 để giao tiếp GPS module.
Ví dụ: PIC18F2x/4xK22, 18f97J60, 18F2x/4xJ11..v..v.

longtu 26-03-2012 04:50 PM

5. Giao tiếp GSM module trực tiếp với PC
 
Các bài viết ở trên, đang trình bày với mục đích giao tiếp GSM module + MCU. Tuy nhiên, mình nghĩ rằng không đề cập đến việc giao tiếp GSM module + PC là một thiếu sót. Vì thực tế, tùy theo ứng dụng, các bạn có thể không cần sử dụng MCU mà chỉ cần GSM + PC để giao tiếp với nhau.

Bài viết này trình bày cách giao tiếp Sim908 nói riêng cũng như GSm module nói chung với PC.

5.1 Giao tiếp GSM module và PC:
Được minh họa bởi hình ảnh sau:
http://i657.photobucket.com/albums/u...nGSMwithPC.png

5.2 Sử dụng Microsoft HyperTerminal để gửi/nhận lệnh AT:
- MS HyperTerminal là 1 chương trình nhỏ đi kèm với Microsoft Windown. Bạn có thể sử dụng nó để gửi lệnh AT tới GSM module.
- Các bước thực hiện:
+ Bước 1: Chạy MS HyperTerminal: Start/Programs/Accessories/Communications/HyperTerminal

+ Bước 2: Hộp thoại Connection Decription xuất hiện. Bạnh nhập tên và chọn Icon mong muốn. Sau đó click "OK"
http://i657.photobucket.com/albums/u...escription.png

+ Bước 3: Hộp thoại Connect To xuất hiện, chọn cổng Com phù hợp. Sau đó kích "OK".
http://i657.photobucket.com/albums/u.../ConnectTo.png

+ Bước 4: Hộp thoại COM Properties xuất hiện, xác định tốc độ Baud, Data bít, parity...
http://i657.photobucket.com/albums/u...Properties.png

+ Bước 5: Giao diện chính của HyperTeminal xuất hiện. Bạn nhập lệnh AT vào giao diện này để thực hiện việc giao tiếp giữa PC và GSM module.
http://i657.photobucket.com/albums/u...ainWindown.png

mrdongus 31-03-2012 02:30 AM

Anh cho hỏi em. Em đã kết nối với sim908 evb kit này bằng hyperterminal như trên và chỉnh các thông số baud rate... như hướng dẫn của nhà sản xuất nhưng khi gõ chữ "at" và enter thì không hề thấy xuất hiện "OK". Như vậy PC chưa kết nối được với chip sim908 phải không anh ? Có cách nào khắc phục không anh ? Thanks

longtu 31-03-2012 08:03 AM

Trích:

Nguyên văn bởi mrdongus (Post 55414)
Anh cho hỏi em. Em đã kết nối với sim908 evb kit này bằng hyperterminal như trên và chỉnh các thông số baud rate... như hướng dẫn của nhà sản xuất nhưng khi gõ chữ "at" và enter thì không hề thấy xuất hiện "OK". Như vậy PC chưa kết nối được với chip sim908 phải không anh ? Có cách nào khắc phục không anh ? Thanks

Tôi không sử dụng Kit EVB nên không biết rõ vấn đề với kit này là gì. Bạn xem gợi ý của tôi sau đấy:
- Đảm bảo rằng cổng COM máy tính của bạn đã hoạt động tốt.
- Kết nối đúng cổng COM
- Kiểm tra lại các cấu hình ban đầu cho EVB theo nhà sãn xuất.
- Hỏi nhà cung cấp kit này cho bạn.

dinale 31-03-2012 02:03 PM

Trích:

Nguyên văn bởi longtu (Post 55073)
- VBAT(62 và 63): Nối tới nguồn VBAT(3.2 -4.8V, 2A) hay Battery Li-on 3.7V, 1100mAh. Chú ý thêm tụ Tantalum 100uF có ESR thấp.
http://www.picvietnam.com/forum/atta...1&d=1332492755

Chân CLK của sim nối với chân SIM_RST của sim908???
Có gì nhầm lẫn ko a?
Pin mình dùng pin điện thoại có đảm bảo dòng 2A được ko a?

longtu 31-03-2012 03:49 PM

Trích:

Nguyên văn bởi dinale (Post 55423)
Chân CLK của sim nối với chân SIM_RST của sim908???
Có gì nhầm lẫn ko a?

Cám ơn bạn. Nhờ có bạn, tôi phát hiện ra mình sai chổ này. Tôi cũng không ngờ là mình có thể nhầm lẫn như vậy. Thật ra, tôi đang đặt mạch PCB nên chưa thử nghiệm được nên vẫn chưa phát hiện ra việc này.
Tôi cũng sẽ tạm dừng post các bài tiếp theo về Sim908 ở đây. Sau khi thử nghiệm xong, tôi sẽ post đầy đủ lên đây sau.

Tôi sửa lại phần kết nối Sim Card Holder như sau:
http://i657.photobucket.com/albums/u...connection.png

Còn đây là PCB layout của Sim Card Holder tôi sử dụng:
http://i657.photobucket.com/albums/u...onnection2.png

Trích:

Nguyên văn bởi dinale (Post 55423)
Pin mình dùng pin điện thoại có đảm bảo dòng 2A được ko a?

2A là đòng đỉnh(Peak Current) Sim908 cần, tuy nhiên nó không phải là dòng liên tục, nó chỉ sảy ra thời gian ngắn. Pin điện thoại có thể đảm bảo được và nên sử dụng loại Li-On battery.

longtu 13-04-2012 11:31 PM

SIM908 PCB Footprint
 
1 Attachment(s)
Có bạn hỏi tôi về Sim908 PCB Footprint. Tôi gửi lên đây để các bạn khác nếu cần.

Thân.

dangkhoa1011 17-04-2012 05:36 PM

bạn chỉ sử dụng chân GPS_TXD => tốc độ mặc định , chuẩn ? đọc tài liệu bạn đưa mà không thấy chỗ nào ,có giống sim 548 :Chuẩn giao thức truyền dữ liệu : NMEA,4800 bps.Định dạng dữ liệu đầu ra: GGA,GSA,GSV,RMC,VTG.Tần số cập nhật ; 1Hz ?
cho hỏi thêm vậy bạn dùng pic có 2 uart ,uart_1 chỉ nhận data từ GPS ,uart_2 dùng lệnh AT để điều khiển ,nhận data từ gsm phải ko ?
như vậy ta xét mức ưu tiên cao hơn cho uart_2 ?

longtu 17-04-2012 10:25 PM

Trích:

Nguyên văn bởi dangkhoa1011 (Post 56938)
bạn chỉ sử dụng chân GPS_TXD => tốc độ mặc định , chuẩn ? đọc tài liệu bạn đưa mà không thấy chỗ nào ,có giống sim 548 :Chuẩn giao thức truyền dữ liệu : NMEA,4800 bps.Định dạng dữ liệu đầu ra: GGA,GSA,GSV,RMC,VTG.Tần số cập nhật ; 1Hz ?
cho hỏi thêm vậy bạn dùng pic có 2 uart ,uart_1 chỉ nhận data từ GPS ,uart_2 dùng lệnh AT để điều khiển ,nhận data từ gsm phải ko ?
như vậy ta xét mức ưu tiên cao hơn cho uart_2 ?

Với Sim908, bạn cần đọc kỹ tài liệu kỹ thuật của nó, tôi đã có gửi ở đầu luồng này và có nhắc nhỏ đọc đi đọc lại nhiều lần.
- Tôi chỉ sử dụng chân GPS_TXD: vì chỉ có nhu cầu cần lấy data từ vệ tinh. Chân GPS_RX chỉ sử dụng khi update firmware, thông thường việc nhà để nhà sãn xuất làm.
- Tốc độ mặc định của GPS module của SIm908 là 115200 bps. Tuy nhiên có thể dễ dàng thiết lập lại tốc độ này bằng lệnh AT: AT+CGPSIPR=<rate> //Set Baud rate
- Đinh dạng dữ liệu đầu ra cũng dễ dàng thiết lập bằng lệnh AT: AT+CGPSOUT=<mode>
- Sử dụng lệnh AT để lấy dữ liệu GPS bất cứ lúc nào( AT+CGPSINF=<mode>). Thậm chí cho phép/không cho phép GPS chạy(AT+CGPSPWR).
- Ban đầu khi thiết kế phần cứng, tôi có ý định sử dụng riêng 2 bộ UART như vậy, 1 cho GSM và 1 cho GPS. Tuy nhiên, khi làm việc thực tế trên SIm908. Tôi không cần sử dụng UART GPS nữa. Vì có thể kiểm soát dữ liệu bằng lệnh AT rồi(như trình bày ở trên). Mỗi lần minh gọi lệnh [AT+CGPSINF=<mode>], dữ liệu GPS sẽ xuất ra UART GSM.
Vì vậy, tôi sử dụng UART GPS + RS232 + PC để truyền lệnh AT điều khiển SIm908. Điều này rất có lợi:
- Khi cấu hình ban đầu cho Sim908: Vì các lệnh này chỉ cần cấu hình 1 lần duy nhất, thiết lập sẽ được lưu lại trong bộ nhờ không bay hơi trong Sim908.
- Kiểm tra/Thử nghiệm/Test các lệnh AT: Tấc nhiên là bạn phải viết được đoạn code có thể làm việc này. Ví dụ thế này: Khi ban sử dụng siow.exe trong CCS để truyền data xuống MCU qua UART GPS, MCU sẽ tạo hàm có thể truyền lệnh AT này xuống Sim908 qua UART GSM.

behnam 18-04-2012 01:57 PM

guyz, anyone has sim908 schematic and footprint in altium deigner?

i need it. please reply ASAP

sorry i dont know your language!

best regards

vohinh2052 19-04-2012 03:52 PM

chào anh longtu ,anh có thể đưa sơ đồ phần kết nối với con pic luôn được không ,hình anh đưa lên thiếu phần vxl rồi .
giúp đỡ cho hoàn thiện luôn đi anh ,sao em thấy khó khăn quá ....

trích :
" Ban đầu khi thiết kế phần cứng, tôi có ý định sử dụng riêng 2 bộ UART như vậy, 1 cho GSM và 1 cho GPS. Tuy nhiên, khi làm việc thực tế trên SIm908. Tôi không cần sử dụng UART GPS nữa. Vì có thể kiểm soát dữ liệu bằng lệnh AT rồi(như trình bày ở trên). Mỗi lần minh gọi lệnh [AT+CGPSINF=<mode>], dữ liệu GPS sẽ xuất ra UART GSM"

em quen dùng với pic16f887 ...nên UART dùng để giao tiếp lệnh AT điều khiển thiết bị qua sms rồi
nếu muốn hiện tọa độ vị trí lên LCD thì kết nối chân GPS_TXD vào đâu ạ ?

thanks !

longtu 19-04-2012 04:50 PM

Trích:

Nguyên văn bởi behnam (Post 57052)
guyz, anyone has sim908 schematic and footprint in altium deigner?

i need it. please reply ASAP

sorry i dont know your language!

best regards

Dear Behnam,

Welcome you to http://www.picvietnam.com. Where are you from?

I don't use Altium software so I cannot help you.

You can make question in English.

Regard,
PM Tuân.

longtu 19-04-2012 05:10 PM

Trích:

Nguyên văn bởi vohinh2052 (Post 57262)
chào anh longtu ,anh có thể đưa sơ đồ phần kết nối với con pic luôn được không ,hình anh đưa lên thiếu phần vxl rồi .
giúp đỡ cho hoàn thiện luôn đi anh ,sao em thấy khó khăn quá ....

trích :
" Ban đầu khi thiết kế phần cứng, tôi có ý định sử dụng riêng 2 bộ UART như vậy, 1 cho GSM và 1 cho GPS. Tuy nhiên, khi làm việc thực tế trên SIm908. Tôi không cần sử dụng UART GPS nữa. Vì có thể kiểm soát dữ liệu bằng lệnh AT rồi(như trình bày ở trên). Mỗi lần minh gọi lệnh [AT+CGPSINF=<mode>], dữ liệu GPS sẽ xuất ra UART GSM"

em quen dùng với pic16f887 ...nên UART dùng để giao tiếp lệnh AT điều khiển thiết bị qua sms rồi
nếu muốn hiện tọa độ vị trí lên LCD thì kết nối chân GPS_TXD vào đâu ạ ?

thanks !

Vohinh2052,

Bạn sai rồi, không phải tôi tiết mà không đưa lên phần kết nối với MCU. Bạn có thể mỗi bài viết của tôi đều rõ ràng và chi tiết không?...Nếu tiết, tôi đã không post bài lên đây.

Quan điểm của tôi là không có gi gọi là bí mất cả, kiến thức thôi mà. Cần phải cho đi để nhận về nhiều hơn. Rất nhiều bạn trong diễn dàn này cũng email hỏi riêng tôi, tôi đều nói như vậy, rằng các bạn sau khi hoàn thành ứng dụng/đồ án của mình thì hãy chia sẽ lên đây cho các bạn đi sau. Tôi cho rằng, người đi sau có thể kế thừa những gì người đi trước đã làm, rồi từ đó phát triển tiếp cho hoàn thiện hơn...nhưng phải nhớ hãy cùng chia sẽ để cùng nhau tiến bộ.

Trở lại với câu hỏi của bạn: Phần khó nhất là so đồ kết nối cho SIM908 thôi, còn về phần MCU, tùy vào ứng dụng của từng người, từng sãn phẩm...sẽ có 1 sơ đồ kết nối riêng, đâu có ai giống ai được bạn. Bạn là người làm ứng dụng, bạn cần tìm hiểu và chọn lựa MCU cũng như kết nối phần cứng tôi thiểu cho MCU chạy. Hơn nữa, ở đây không phải là luồng nối về MCU.

Trong các bài đã post, tôi cũng nói là việc giao tiếp giữa Sim908 và MCU qua bộ UART(chân TX, RX). Chú ý GPS_TX/RX(Vcc 3.3V) và MCU_TX/RX(Vcc=5V)...(xem lại các bài đã post).

Bạn đã quen với Pic16F887 rồi, tôi cho rằng bạn hoàn toàn có thể sử dụng 1 con PIC khác vì nó cũng tương tự như PIC16F877 mà thôi.
PIC16F877 chỉ có 1 bộ UART, theo tôi sẽ khó khăn cho bạn khi làm với Sim908 đấy. Vì khi bắt đầu làm với SIm908, bạn cần 1 bộ UART giao tiếp với GMS của Sim908 rồi, bạn cần thêm 1 bộ nữa để có thể test/gưi lệnh AT/upload firmware(sử dụng bootloader CCC qua Siow.exe...) rất tiện lợi và nhanh chóng. Hơn nữa giá thành 1 con PIC có 2 bộ UART có thể còn rẽ hơn, nhỏ gọn hơn 16F877 đấy...Tôi sử dung: 18F24K22.

Hiển thị lên LCD: Các chân LCD giao tiếp với chân GPIO của MCU thôi, khong có gì đặt biệt cả. Khi bạn đã lấy được thông tin về tọa độ, bạn có thể hiển thị lên LCD rồi. Cũng chỉ là tương tự như việc hiển thị 1 số đã có sẵn lên LCD mà thôi.

Thân,

behnam 19-04-2012 06:33 PM

Trích:

Nguyên văn bởi longtu (Post 57273)
Dear Behnam,

Welcome you to http://www.picvietnam.com. Where are you from?

I don't use Altium software so I cannot help you.

You can make question in English.

Regard,
PM Tuân.

Thanks for your welcome. I'm from Persia.

so, what software are you using? Is it possible to generate it in altium deigner?

longtu 19-04-2012 09:21 PM

Trích:

Nguyên văn bởi behnam (Post 57294)
Thanks for your welcome. I'm from Persia.

so, what software are you using? Is it possible to generate it in altium deigner?

I am using Orcad software. I don't know also Altium deigner can open it or convert it or not.

Why don't you try it? See the link below for footpint(Orcad) of SIM908.
http://www.picvietnam.com/forum/show...7&postcount=15

longtu 20-04-2012 03:57 PM

Lỗi "Date" của bản tin $GPRMC
 
1 Attachment(s)
Với các Sim908 hiện tại, nếu các bạn gặp lỗi sai thông tin "DATE" trong bản tin $GPRMC như ví dụ sau đây:
Command: AT+CGPSINF=32
Response: 32,045506.000,A,1046.818428,N,10639.775633,E,0.52, 287.76,210751,,E,A

==>Data "Date" là: 210751, nó là kết quả sai.

Đây là 1 lỗi mà tôi phải liên hệ nhà cung cấp SimCom, họ trả lời rằng cần phải upload firmware mới để fix lỗi này.

Vì vậy, nếu các bạn nào đang thiết kế với Sim908, cần đưa ra các chân GPS/DBG_TXD và GPS/DBG_RXD để sau này upload firmware nếu cần thiết.

Thiết kế của tôi do không chừa các chân này nên giờ không thử được. Tôi gửi firmware mới cũng như cách upload lên đây để bạn nào đang làm với Sim908 thì lưu ý và có thể thử Firmware mới và cho tôi kết quả?

Đây là các tính năng phát triển của firmware mới:
http://i657.photobucket.com/albums/u...edFeatures.png

Firmware: http://www.mediafire.com/?wjmu64rljc5cqo9

File pdf đính kèm là hướng dẫn cách thưc hiện.

thanhsonvn90 20-04-2012 10:44 PM

Trích:

Nguyên văn bởi behnam (Post 57052)
guyz, anyone has sim908 schematic and footprint in altium deigner?

i need it. please reply ASAP

sorry i dont know your language!

best regards

Here you are !
http://www.mediafire.com/?a1a9e2yzz3po0mn

behnam 21-04-2012 04:25 AM

Trích:

Nguyên văn bởi thanhsonvn90 (Post 57490)

Thanks a lot dude, It helped me so much...

Thank you again...

behnam 21-04-2012 06:33 PM

hi guyz,

as you know, Sim900 can be drives easily! so, can we drive Sim908 as easily as sim900?

thx.

dinale 10-05-2012 12:08 PM

Cái bộ GPS của sim908 nó có cho mình lấy dữ liệu "thô" (cường độ tín hiệu) để mình tự tính toán tọa độ ko nhỉ? Hay là nó ra sẵn tọa độ cho mình luôn.

p_zeus 11-05-2012 09:13 AM

chào mọi người minh đang đồ án định vị GPS băng sim 908 công việc củng tạm ổn đã thực hiện được các chức năng định vị va đánh dấu trên bản đồ. tuy nhiên ở đây mình truyền dư liệu bằng ip động nên nó thay đổi liên tục. cập nhật ip bằng SMS thì không linh hoạt cho lắm mình muôn sữ dụng DNS nhưng không biết phải làm như thế nào . bên matbao có cung cấp dns free mình hỏi bên đó họ nới có thể làm được. ai đã làm qua thì giúp mình với nhé.

thanhsonvn90 12-05-2012 07:57 PM

Trích:

Nguyên văn bởi p_zeus (Post 61282)
chào mọi người minh đang đồ án định vị GPS băng sim 908 công việc củng tạm ổn đã thực hiện được các chức năng định vị va đánh dấu trên bản đồ. tuy nhiên ở đây mình truyền dư liệu bằng ip động nên nó thay đổi liên tục. cập nhật ip bằng SMS thì không linh hoạt cho lắm mình muôn sữ dụng DNS nhưng không biết phải làm như thế nào . bên matbao có cung cấp dns free mình hỏi bên đó họ nới có thể làm được. ai đã làm qua thì giúp mình với nhé.

Cậu có thể dùng 1 dịch vụ dns free có hỗ trợ DNS động như no-ip.info rồi truyền qua domain luôn
Có gì liên hệ yahoo mình :sonbui1903
demo: http://gpshaui.somee.com/v3/info/Realtime.aspx
trên máy mình nè: http://sonbui.no-ip.info:8080/site/Realtime.aspx

Trước mình cũng dùng TCP IP nhưng giờ chuyển qua sử dụng webservice cập nhật dữ liệu lên website luôn

saturday_ll 22-05-2012 05:58 PM

Sim908, sim 548c
 
Mình có các loại module sim này. Bác nào cần liên hệ với mình theo sdt 0985 299 318 nha!

dangkhoa1011 23-05-2012 07:20 PM

sim 908 của mình làm theo sơ đồ bác longtu mình đã gọi điện và nhận cuôc gọi ,cũng như đọc tin nhắn được .
nhưng mình gửi tin nhắn ko được ,mình viết như trong hướng dẫn tập lệnh AT sim 548 :
>at+cmgf=1 /*Đăng nhập mạng GSM, chọn chế độ gửi tin nhắn Text*/
>OK
>at+cmgs="0945302248"/*Gửi tin nhắn tới số điện thoại*/
> tai sao khong gui duoc /*noi dung tin nhan ,sau đó mình nhấn ESC ,or phím ->*/
>
>OK /*nó trả về OK*/
không còn gì hơn nửa ,tin nhắn ko tới số cần nhận ,
không có chuỗi trả về thông báo kết quả quá trình gửi tin nhắn. (+CMGS: )
cũng không báo lỗi (+CMS ERROR)
bạn nào biết tại sao không ,chỉ mình với
có cần phải cài đặt trung tâm tin nhắn gì không ?

longtu 27-05-2012 09:04 PM

Trích:

Nguyên văn bởi dangkhoa1011 (Post 63900)
sim 908 của mình làm theo sơ đồ bác longtu mình đã gọi điện và nhận cuôc gọi ,cũng như đọc tin nhắn được .
nhưng mình gửi tin nhắn ko được ,mình viết như trong hướng dẫn tập lệnh AT sim 548 :
>at+cmgf=1 /*Đăng nhập mạng GSM, chọn chế độ gửi tin nhắn Text*/
>OK
>at+cmgs="0945302248"/*Gửi tin nhắn tới số điện thoại*/
> tai sao khong gui duoc /*noi dung tin nhan ,sau đó mình nhấn ESC ,or phím ->*/
>
>OK /*nó trả về OK*/
không còn gì hơn nửa ,tin nhắn ko tới số cần nhận ,
không có chuỗi trả về thông báo kết quả quá trình gửi tin nhắn. (+CMGS: )
cũng không báo lỗi (+CMS ERROR)
bạn nào biết tại sao không ,chỉ mình với
có cần phải cài đặt trung tâm tin nhắn gì không ?

Tôi trả lời bạn như sau:
Cmd: AT+CMGF=1 //SMS Text Mode.
Bạn chỉ cần chỉ sử dụng 1 lần thôi, không cần lặp lại mỗi lần gửi tin nhắn.

Bạn làm các bước sau để gửi tin nhắn:
Bước 1: CMD: AT+CMGS="090xxxxx"<CR>
Lưu ý:
+ Phải có 2 dấu ngoặc kép('') ở 2 đầu số điện thoại.
+ Phải có Carrige Return(\r) ngay sau dấu ngoặc kép thứ 2.
Ví dụ:
char SenderPhone[]= "\"0988xxxxxxx\"";
...
fprintf(COM_GSM,"AT+CMGS=%s\r\n",SenderPhone);

Buớc 2: Đợi điện thoại/Sim 908 Module trả về: dấu '>'

Bước 3: Ghi nội dung tin nhắn và kết thúc bằng SUB và ESC để gửi tin nhắn.
Ví dụ: Muốn gửi nội dung SMS: My name is Phung Minh Tuan.
#define SUB 0x1A
#define ESC 0x1B
....
fprintf(COM_GSM,"My name is Phung Minh Tuan.%c%c",SUB,ESC);

Bạn thử xem.
Thân,

dangkhoa1011 27-05-2012 10:47 PM

hi ,em mới giao tiếp mới máy tính qua HyperTerminal thôi ,nhưng chưa gửi được tin nhắn ,nên anh trả lời em không hiểu lắm ^^"
em gõ lệnh AT
>at+cmgs="094530****"
sau đó nhấn Enter thôi ,
gõ nội dung ,sau đó nhấn Esc ,nó trả về OK ,nhưng không gửi được !

longtu 28-05-2012 12:04 AM

Trích:

Nguyên văn bởi dangkhoa1011 (Post 64652)
hi ,em mới giao tiếp mới máy tính qua HyperTerminal thôi ,nhưng chưa gửi được tin nhắn ,nên anh trả lời em không hiểu lắm ^^"
em gõ lệnh AT
>at+cmgs="0945302248"
sau đó nhấn Enter thôi ,
gõ nội dung ,sau đó nhấn Esc ,nó trả về OK ,nhưng không gửi được !

Tại sao bạn nói làm theo sơ đồ của tôi mà lại sử dụng được HyperTerminal?

Sơ đồ của tôi giao tiếp giữa Sim908 với Microcontroller, vì vậy tôi gợi ý cho bạn theo dạng này.

Voi HyperTerminal cũng vậy thôi, ban xem lai bài viết của tôi và quên đi các ví dụ tôi viết. Các bước vẫn như vậy.

Thân,

longtu 03-06-2012 02:54 PM

Giao tiếp Microcontroller + Sim908
 
Như tôi đã nói, tôi sẽ trở lại với luồng nay sau khi làm xong ứng dụng liên quan đến MCU + Sim908. Kết quả đạt được của tôi khá tốt, tôi sẽ lần lượt gợi ý để các bạn dễ dàng nắm bắt.

1. Nhắc lại một số ý quang trọng:
- Tôi đã và đang trình bày cách thức giao tiếp giữa MCU với Sim908. Nếu các bạn nào chỉ giao tiếp SIM908 với PC qua HyperTerninal thì xem để tham khảo và áp dụng cho đúng.
- Các bạn xem lại sơ đồ kết nối giữa MCU(Pic 18F24K22) + Sim908 ở đây:
http://www.picvietnam.com/forum/show...73&postcount=7
Trong đó:
+ GSM_TXD nối trực tiếp với MCU_RXD1
+ MCU_TXD1 qua cầu phần áp(2.2K và 3.3K) trước khi nối với GSM_RXD

+ GPS_TXD nối trực tiếp với MCU_RXD2:
http://i657.photobucket.com/albums/u...tupic/Fig1.jpg
Hình ảnh trên, các bạn sẽ thấy rằng thông qua J6, ta sẽ có 2 lựa chọn: 1 là GPS_TXD(Sim908), 2 là RX_MCU(Từ PC-->RS232).
http://i657.photobucket.com/albums/u...tupic/Fig2.jpg
+ Thông qua các chân RX_MCU và TX_MCU ta có thể upload firmware cho MCU(qua bootloader), debug firmware...cấu hình ban đầu cho Sim908...
Trong sơ đồ của tôi không sử dụng GPS_RXD. Tuy nhiên, các bên nên sử dụng cả chân này nếu như muốn upload firmware mới cho Sim908 để sửa một số lỗi. Các bạn đọc bài viết này của tôi:
http://www.picvietnam.com/forum/show...5&postcount=24

longtu 03-06-2012 03:13 PM

Giao tiếp Microcontroller + Sim908
 
2. Một số lệnh AT để Kiểm Tra, Cấu hình cho Sim908:
2.1 Một số lệnh Kiểm Tra:
- Ngay sau khi có phần cứng, các bạn lắm Sim và sử dụng một số lệnh sau để kiểm tra:
[AT Command] //[Description]
AT //Check communication between the module and PC/Microcontroller.
ATD<Caller Phone Number>//Call to phone number. Ex: ATD0988434887;
ATDL//Reial last telephone number.
ATI //Display Product Identification Information. Ex: Return:SIM900 R11.0
AT&V//Display Current Configuration.
AT+GSV//Display Product Identification Information. Ex: SIMCOM_Ltd - SIMCOM_SIM908 - Revision:1137B02SIM908M64_ST
AT+CSQ //Signal Quality Report.Ex: +CSQ: 28,0 (<99 Signal is good)
AT+CPIN? // Check Sim status. Ex: +CPIN: READY
AT+IPR? // Check(Test/Set/Read) Baud rate. Ex: +IPR: 0(Auto_bauding)
AT+CSCA? //SMS Service Center Address. Ex: +CSCA: "+84980200030",145
AT+CMTE? //Read the temperature when the module is running. Ex: +CMTE: 0,38
AT+CGREG? //Network Registration Status. Return: +CREG: 1,1 - Enable Network and Registed.
AT+CGMI// Get manufacturer information. Ex: SIMCOM_Ltd
AT+CGMR// Get software version. Ex: Revision:1137B02SIM908M64_ST
AT+CGSN //Get device IMEI. 861001000034104
AT+COPS? // Display the current network operation: +COPS: 0,0,"VNM and VIETTEL"

Và còn rất nhiều lệnh khác nũa, các bạn xem them trong AT Command cho Sim908.

p_zeus 09-06-2012 04:37 PM

chào ca nha mình cho minh hỏi xíu con sim908 cua mình chay GSM mà không chạy GPS thi no lanh tanh khong một tí nhiệt nào , nhưng cho chay chêm chú GPS một lúc thì nhiệt độ em no lên tam 45 50 độ , nhưng vẩn chạy bình thương. không biết lý do tại sao nưa . liệu có gì bất thường với con sim908 của mình không nhi

mynametan 15-06-2012 10:48 PM

Chào cả nhà cho em hỏi em làm đồ án điều khiển thiết bị qua tin nhắn sms...
Khi modum gởi tin nhắn phản hồi cho điện thoại....thì pic tự nhiên nhận chuỗi ký tự đòi xử lý mà em ko hề gởi chuỗi cho modum....rồi đứng lun hệ thống...mong mọi người giúp đỡ a?????????

longtu 17-06-2012 07:03 PM

Trích:

Nguyên văn bởi mynametan (Post 70659)
Chào cả nhà cho em hỏi em làm đồ án điều khiển thiết bị qua tin nhắn sms...
Khi modum gởi tin nhắn phản hồi cho điện thoại....thì pic tự nhiên nhận chuỗi ký tự đòi xử lý mà em ko hề gởi chuỗi cho modum....rồi đứng lun hệ thống...mong mọi người giúp đỡ a?????????

Tôi nhận được code và sơ đồ của bạn qua email. Bạn hãy upload đoạn code cũng như sơ đồ của bạn lên đây để mọi người cùng rút kinh nghiệm. Tôi xem nhanh code bạn và có nhận xét code của bạn như sau
- Luôn quan sát NetLight Led có chớp hay không.
- Khi nhấn Power Key, Status Led phải sáng và luôn để ý Led này trong suốt quá trình sử dụng. Vì nếu như Led này tự động tắt, rất có thể nguồn cung cấp không đủ...
- puts("at+cmgr=1"); và puts("at+cmgd=1"); Rẩt có thể chương trình của bạn đứng tại đây, bạn thiếu \r để kết thúc lệnh. Ví dụ: printf("AT+CMGR=1\r\n");
- Nói chung, code bạn viết là không chặt chẽ. Bạn cần tìm hiểu để viết code chặt chẽ hơn.
Tôi gợi ý đoạn code nhận tin nhắn sms như sau:
- Đâu tiên, các bạn phải cấu hình/thiết lập nhận tin nhắn:
AT+CNMI=1,1,0,0,0 New message indication enable.
Khi đó, mỗi lần có tin nhắn mới sẽ nhận được chuỗi data như sau:
+CMTI: "SM",<index>\r\n
Chú ý:
1. Luôn bắt đầu bằng chuỗi: "+CMTI"
2. Luôn kết thúc bằng: \r\n
==>Dựa vao 1 va 2 để biết ĐÚNG là tin nhắn tới và loại bỏ những data không đúng là tin nhắn...
Code:

/* Chú ý:
 * Tôi su dung RDA2 de nhan SMS. Khai báo cua tôi nhu sau:
 */
#USE RS232(BAUD=38400, XMIT=PIN_B6, RCV=PIN_B7, STREAM=COM_GSM)
...
//------------------------------------------------------------------------------
#define  BUFSMS_SIZE 165      //SMS size the same 160 characters.
#define  BUFSMS_MASK BUFSMS_SIZE-2
char buffSMS[BUFSMS_SIZE];

//Define:
#define OK_        0                      // Used to look up in SetSearchString( Response )
#define CMTI_      1                      // Used to look up in SetSearchString( Response )
#define READY_      3                      // Used to look up in SetSearchString( Response )
#define CRLF_      4                      // Used to look up in SetSearchString( Response )

unsigned char  OK[]    = "OK\r\n";                  // "OK"
unsigned char  CMTI[]  = "+CMTI:";              // New Message arrived
unsigned char  READY[]  = "> ";                      // Phone ready to receive text message
unsigned char  CR_LF[]  = "\r\n";                    // Carrige Return Line Feed 

unsigned char  *searchFor;                            // Flash pointer

// Private pointer
static unsigned char searchStr;

static int8 rx_i;
int8 nextIn2;
int8 rx_ack=0;    //Acknowledge Flag.

void InitBuffCom2(void);
void SetSearchString( unsigned char Response );
void EnableReceivSMS();
/* Int_rad2:
 * Có tin nhắn mới: rx_ack= 1, ngược lai rx_ack= 0.
 */
#INT_RDA2
void serial_isr2()
{
  int8 i;
  char c;
  c= buffSMS[nextIn2++]= fgetc(COM_GSM);
  //fputc(buffSMS[nextIn2-1],COM_GPS); //Could be used for testing.

  if( nextIn2 > BUFSMS_MASK)
  {
      nextIn2= 0;    //Reset write index.
      disable_interrupts(int_rda2);// Disable RX interrupt
  }
 
  if( searchFor[rx_i] == c)
  {
      rx_i++;
      if( !searchFor[rx_i] )
      {
        rx_i= 0;
        if( searchStr == CMTI_  )                //+CMTI
        {
            searchFor= CR_LF; //Wait for
            searchStr = CRLF_;
        }       
        else
        {
            rx_ack= 1;           
            disable_interrupts(int_rda2);// Disable RX interrupt
        }
      }   
  }
 
  else
  {
      rx_i= 0;      //Not valid search pattern...start again.
  }
 
}

/* 
 *  Reset receive interrupt SMS data.
 */
void InitBuffCom2(void)
{
  disable_interrupts(int_rda2);// Disable receive SMS message.
  rx_i= rx_ack = 0;
  nextIn2 = 0;
  buffSMS[nextIn2] = NULL;//#define NULL '\0'
}
/* 
 *  Set desired search string
 * Usage:
 * - Call: InitBuffCom2(); <?> //Reset receive buffSMS
 * - Call: SetSearchString( unsigned char Response )
 * - Call: AT command
 * - Call: EnableReceivSMS()
 */
void SetSearchString( unsigned char Response )
{
  disable_interrupts(int_rda2);// Disable receive SMS message.
  switch (Response)
    {
    case OK_:
            searchFor= OK;
            break;
    case CMTI_:
            searchFor= CMTI;
            break;
    case READY_:
            searchFor= READY;
            break;
    default:
            break;
    }
    searchStr = Response;                //Used in rx_isr
    rx_i = 0;
}
/*
 * Enable Receiv SMS:
 */
void EnableReceivSMS()
{
  enable_interrupts(int_rda2);
}
/*  Check acknowledge returned from phone
 *
 *  This function checks if an acknowledge
 *  has been received from the phone. A counting loop is also
 *  included to avoid waiting for a acknowledge that never arrives.
 *
 *  Return Value:
 *    1 Success, correct acknowledge
 *    0 Error, returned "ERROR" or timed out
 */
#define  KEYHIT_DELAY  5000    //  milliseconds
Int Check_acknowledge()

  unsigned int32  timeout=0;
  int retval;
  int16 temp_delay=0;
 
  retval= 0;
  rx_ack= 0;          //Zero ackowledge flag.
  while((rx_ack==0)&& (++timeout<(KEYHIT_DELAY*100))) 
      delay_us(10);
 
  if(rx_ack)          //Everything worked out fine...rx turned off
  {
      rx_ack= 0;        //Reset ackowledge flag.
      retval= 1;
  }
  else                //A timeout could result from no acknowledge.
  {
    // fputc('A',COM_GPS);
      InitBuffCom2();
      retval= 0;
  }
  while((temp_delay++)<10000);//Delay a few miliseconds.
  return(retval);
}
/*Delete a message at index= 1
 *
 */
Void deleteSMS()
{
    InitBuffCom2();
    SetSearchString( OK_ ); 
    fprintf(COM_GSM,"AT+CMGD=1\r");
    EnableReceivSMS(); 
    if( Check_acknowledge() > 0 )  //Acknowledge = "OK"
    {         
      return;
    }
    else                          //Acknowledge != "OK"
    {
      fprintf(COM_GPS,"ERROR: No Ack!\r\n");
      return;
    }
}
//----------------------------------------------

Void main()
{
  ...
  enable_interrupts(int_rda2);
 
  enable_interrupts(GLOBAL);
  ...
  deleteSMS(); //Chú ý A
  InitBuffCom2();
  SetSearchString( CMTI_ );  //Waiting the new SMS message.
  EnableReceivSMS(); //Ready to receive the new SMS message.
//Main program:
  while(1)
  {
      if( rx_ack )
      {
      //Xu ly tin nhan moi.
      deleteSMS();//Chú ý B
      InitBuffCom2();
      SetSearchString( CMTI_ );  //Waiting the new SMS message.
      EnableReceivSMS(); //Ready to receive the new SMS message.
      }
  }
}

Chú ý A: deleteSMS()
- Luôn xóa tin nhắn tại index= 1, điều này có nghĩa rằng khi nhận được tin nhắn mới thì chắc chắnc rằng tin nhắn mới sẽ được lưu trong index= 1.

Chú ý B: deleteSMS()
- Khi xử lý xong tin nhắn mới, phải xóa tin nhắn ở index= 1 này để sẵn sàng nhận tin nhắn mới vào index= 1.


Múi giờ GMT. Hiện tại là 09:24 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam