Ardunio Hakkında 2 soru.

Başlatan Melih1802, 21 Aralık 2014, 23:51:07

Melih1802

1-) Ardunio kartlarının bir tanesine dışarıdan hiç bir bağlantı yapmadan sadece led yak söndür programı yazsak EMC testinden geçer' mi.

2-) Bu yapı Ticari amaçlarla kullanılır' mı. İçine yazılmış bir programın kopyalanması mümkünmü' dür.

Kabil ATICI

1. için bir şey diyemem. O yönü ile hiç değerlendirmedim.

2. olarak ticari olarak kullanmaktan kastınızı bilmiyorum. Ama bu kartlar temelde geliştirme kartıdır. İşlemci için gereken programı geliştirir, çalıştırır ve sonra kendi kartınızı tasarlarsınız.(Protatipleme) Çünkü bu kart üzerinde shield olarak tanımlanan yardımcı kartlar fazlacana eğreti durumdadırlar ve kendi sisteminize göre kartı yeniden shield üzerindeki bileşenler dahil kapsayacak şekilde tasarlamanız yerinde olacaktır. Zaman içinde konnektörlerin iletim sorunları açması olasıdır ki, mekanik kararlılık açısından  kartları tek hale getirmek gereklidir.

İçine yazılmış bir programın kopyalanması mümkün. Üzerindeki (iletişim veya programlama için kullanılan işlemci dahil) ana işlemci için yazılmış bir yazılımı örneğin Atmega328 ise  bu işlemci için yazılmış bir programı işlemciye yükleyip çalıştırabilir hatta isterseniz koruma bitlerini aktifleyerek dışarıdan erişime kapatabilirsiniz. Bu iş için ISP programlayıcıları kullanabilirsiniz.
ambar7

frat

Arduino'nun EMC testlerinden geçeceğine şüpheliyim. Çünkü üretim amacı bu testlerden geçmek değil kullanım kolaylığı sunmak. Bu haliyle de EMC için çok yalın bir karttır.

Arduino'nun ticari kullanımı için kapalı kodlu olması kendi sisteminde pek mümkün değil çünkü zaten mantık olarak da Açık kaynak kodlu sistemi savunuyor. Bu nedenle kendi programı üzerinden programladığınızda herhangi bir koruma yöntemi sünmuyor. Ama ambar7 arkadaşımızın da dediği gibi nihayetinde bir Atmel çipi. Harici yazılımlar ile programlanarak koruma yapılabilir. Ticari olarak bir çok sektörde de kullanıldığını biliyorum.
DataCNC ve Robotus Mühendislik Kurucusu // https://www.robotus.net & https://www.datacnc.com

Melih1802

İfadem zayıf kalmış düzelteyim. Ticari olarak kullanmaktan kastım Chip üzerindeki programın kopyalanması durumuydu.



MrDarK

#4
Yazılımı bootloader üzerinden atmayın, mevcut yazılımı ISP pinlerinden okuyup kod korumalı şekilde yeni kartlara atarsanız güvenlikli olur :)
Picproje Eğitim Gönüllüleri ~ MrDarK

hgs

Çok ucuza bulunan bir kartın, çok fazla kullanabilen kitlesini düşününce korumalıda kod atılsa; yapılan işin benzeri için kod yazabilecek birilerini bulmak zor olmayacaktır.  Bu tip bir kart kullanmak mantıklı değil.

MrDarK

Alıntı yapılan: hgs - 22 Aralık 2014, 08:38:33
Çok ucuza bulunan bir kartın, çok fazla kullanabilen kitlesini düşününce korumalıda kod atılsa; yapılan işin benzeri için kod yazabilecek birilerini bulmak zor olmayacaktır.  Bu tip bir kart kullanmak mantıklı değil.

Ben bir alaka kuramıyorum. Atmega328 entegresine AVR ile kod yazmak ile arduino pro mini ile kod yazmak arasında ne fark var ? Şunu düşünüyorsanız ayrı tabi herkes kütüphane kod kullanıp kopyala yapıştır yaptığını sanıyorsanız çok yanılıyorsunuz.
Picproje Eğitim Gönüllüleri ~ MrDarK

Kabil ATICI

#7
Pardon, ICSP bu çiplerde farklı ifade ediliyor. ISP (in-system programming )

Arduino tarzı ürünlerle uğraşacaksan öncelikle bu çiplere programlayacak bir programlayıcıya ihtiyacın var. Bazı istisnai ürünler haricinde çoğunlukla (atmel ürünleri) ISP programlama arabirimini kullanır. SPI arabirimine reset ve besleme eklenmiş hali gibi bir şey.
http://www.direnc.net/ATMEL-PROGRAMLAYICILAR,LA_1615-2.html#labels=1615-2
şunlardan biri olabildiği gibi
http://www.atmel.com/Images/AVRISPmkII.jpg
gibi bir şeyde olabilir.

Programlayıcıya sahip olduktan sonra çipin içeriğini tamamen kendi isteğiniz gibi düzenleyip koruma bitlerini aktifleştirebilirsiniz. Çipin içeriğini erişmenin bir yolu varsa bile bu sıradan kullanıcılar için değil.

Bootloadersiz yüklemekte fayda var, açık bir arka kapı bırakmaya gerek yok.

Ben Atmel AVR Studio (MKII ile)  kullanıyorum, programlama arayüzünde son işlemden sonra işlemciyi koruma bitlerini aktifleştirebiliyorum. Bu şekilde programı erişimi kaldırabiliyorsunuz.
Silinebiliryor mu; evet işlemcinin tamamı silindiği zaman. İşlemci flash olduğu için yeniden kullanılabilmesi gerekir.
İşlemi tamamen silinmeden koruma bitleri aktif kalıyor.

http://www.atmel.com/images/doc8161.pdf
sayfa 294,295,

işlemcinin veri kağıdına bakasan Lock bit görebilirsin. Hatta işlemcinin  programlama bağlantısı olan "ISP" iptal edebilirsin. O zaman paralel port programlayıcı kullanman gerekir. (SMD'ler için sıkıntı)

Ek: Yazılmış bir programı yazmak var bir de hazır sunmak. Bir şey kopyalanamaz diye bir şey yok, sadece uğraşmaya değer mi sorunun cevabı önemli.
Olayı arduino diye sunarsan, birisinin kafasında bir tilki dolanır, ama sen kartını bu benim kartım diye sunarsa, bence düşünür.

Bir çok proje pic ile yapılmakta ve yaygın kaçının programını ben yeniden yazarım diye başına geçiyorlar.

10 yıldan fazla Atmel'in at89c52 işlemcisini üretilen makinelerde kullandım, kartı kopyalayanı görmedim, makine benzerini ürettiler (bu normaldir çünkü yaptığı iş belli,ama kartı değil) Kullandığım işlemci aşağı yukarı 4-5bin civarında idi.
ambar7

hgs

#8
Alıntı yapılan: MrDarK - 22 Aralık 2014, 08:56:01
Ben bir alaka kuramıyorum. Atmega328 entegresine AVR ile kod yazmak ile arduino pro mini ile kod yazmak arasında ne fark var ? Şunu düşünüyorsanız ayrı tabi herkes kütüphane kod kullanıp kopyala yapıştır yaptığını sanıyorsanız çok yanılıyorsunuz.

Melih1802 nin kodu yazdırdığı kişilerin embeded programlama bilmediğini varsayıyorum. Benzer bir varsayımla, kartı kullanacak ve üretmek isteyecek kişilerinde benzer kalitede kişilere bu işi kolayca kopyalatabileceğini düşünüyorum.

En basitinden benzer donanımı temin edip donanım derdi ile uğrasmadan çalışan cihazın benzeri için kodu yazdırmak veya oturup 1 hafta 10 gün arduino programlamayı ögrenip, cihazı kopyalamak isteyen için bile zor olmayacaktır. 

Yine Melih1802 nin yaptırmaya çalıştığı cihazın basit kontrol fonksiyonlarına sahip bir ürün olduğunu varsayıyorum.

Melih1802

Aklımdaki çok basit işleri bu şekilde kendim yapmak. Bazıları ucundan ticari olabilir.

mehmet

Başlangıç olarak bakınca, Arduino elektronikçiler için
geliştirilmemiştir. Daha çok tasarım işleriyle uğraşan
kişilere yönelik çalışmalar ve geliştirmeler yapılmıştır.
Zira tasarım yapan kişinin elektronik ve yazılım öğrenecek
zamanı yoktur. Odaklanacak olay tasarımdır. Sonuca en kısa yoldan
gitmek gereklidir. Zaten tasarım bittikten sonra
alanda kullanıma hazırlamak için cihazın her bölümü ayrı ayrı
başka tasarımcılar tarafından revize edilmeleri gerekir.
Dolayısıyla geliştirme kitleri ve/veya genel olarak işlemciler,
ilgili ürün için her şekilde revize edilmeleri gerekmektedir.

Arduino ile geliştirilen sadece yazılımdır.(Tabi yazılımsal
olarak EMC, vs. testlere etki eden durumlar da oluşabilmektedir.)
Donanımsal olarak bakılınca, mutlaka belli kurallara ve kaidelere
uymak gerekmektedir. Bu herhangi bir CPU/MCU veya herhangi bir
donanım elemanı için geçerlidir. Bazı mcuların giriş yapılarındaki
iç dirençleri yüksek, bazıları düşüktür. Bu konuları bilip buna göre
donanım tasarlamak gerekmektedir. Örneğin; bazı Pic mcularda bir pin
giriş yapıldığında, kontrol kısmı(button, vs.) belli uzaklığın üzerine
çıktığında kablolar anten gibi davranıp parazitleri üzerlerine çekerler.
Bu da ilgili girişin istem dışı davranmasına sebep oluşturmaktadır.
Malumunuzdur ki; bundan kurtulmanın bir çok yöntemi vardır. Bunlar
yazılı/sanal medya üzerinden bir çok defalar konuşulup tartışılmıştır.

Örneğin:
Arduino 9 nolu pine bir led ve uygun direnç bağlanır. Bir pot +5V ve GND
arasına bağlanıp, orta ucu da 0 nolu analog pine girilir. Basit bir dimmer
oluşturulmuş olur.
void setup(void)
{
     pinMode(9, OUTPUT); // 9 nolu pin çıkış, aynı zamnda 9 nolu pin donanımsal PWM çıkışıdır.
}

void loop(void)
{
     analogWrite(9, analogRead(0) >> 2); // 9 nolu pine pwm ile çıkış yapılacak. 0 nolu analog girişten 10bit okuma yapılıyor ve PWM için 8bite dönüştürülüyor.
}


Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr